perm filename P.XGP[AP,DBL] blob sn#141987 filedate 1975-01-28 generic text, type T, neo UTF8
/LMAR=0/XLINE=20/FONT#0=BASL30/FONT#1=BASB30/FONT#2=NGR25/FONT#3=BASI30/FONT#4=NGR40/FONT#5=NGR20/FONT#6=FIX20/TMAR=100/PMAR=2200/BMAR=100
␈↓ d␈↓␈α?␈α?␈α1␈↓∧SYNTHESIS OF LARGE PROGRAMS FROM SPECIFIC DIALOGUES␈↓

␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α0Douglas B. Lenat
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α
Stanford Artificial Intelligence Laboratory
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α≡Stanford, California

␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α↓␈↓∧␈↓&ABSTRACT␈↓)αβ␈↓

␈↓"/␈↓ d␈↓Automatic␈α∀programming␈α∀must␈α∀eventually␈α∀deal␈α∀with␈α∀large␈α∀programs.␈α∀Using␈α∀the␈α∀paradigm␈α∀of␈α∃dialogue,␈α∀a
␈↓ d␈↓preliminary␈αstudy␈αwas␈αdone␈αon␈αgenerating␈αprograms␈αtens␈αof␈αpages␈αlong,␈αrequiring␈αseveral␈αhours␈αof␈αuser-system
␈↓ d␈↓interaction␈α∞time␈α∞to␈α∞synthesize.␈α∞Many␈α∞assumptions␈α∞which␈α∞are␈α∞reasonable␈α∞when␈α∞concentrating␈α∞upon␈α∞tiny␈α
targets
␈↓ d␈↓become␈α∞limiting␈α∞factors␈α∞in␈α∞large␈α∞dialogues.␈α∞An␈α∞experimental␈α∞system,␈α∞PUP6,␈α∞was␈α∞constructed.␈α∞ The␈α∂methods␈α∞it
␈↓ d␈↓employs␈α_to␈α↔generate␈α_target␈α↔code␈α_are␈α↔not␈α_formal,␈α↔but␈α_rather␈α↔involve␈α_structuring␈α↔of␈α_knowledge␈α↔about
␈↓ d␈↓programming,␈α∩about␈α∩the␈α⊃chosen␈α∩task␈α∩domain␈α⊃(inductive␈α∩inference␈α∩LISP␈α⊃programs),␈α∩and␈α∩about␈α∩transfer␈α⊃of
␈↓ d␈↓control.␈αSpecification␈αis␈αvia␈αlong,␈αbrittle␈αdialogues␈αwith␈αthe␈αuser,␈αbut␈αis␈αonly␈αpartial:␈αambiguities␈αare␈αresolved␈αby
␈↓ d␈↓inference␈α⊂and␈α⊃deferral.␈α⊂ Knowledge␈α⊂is␈α⊃represented␈α⊂as␈α⊂a␈α⊃pool␈α⊂of␈α⊂structured␈α⊃modules,␈α⊂whose␈α⊃abilities␈α⊂include
␈↓ d␈↓asking␈α∂and␈α∂answering␈α∂questions␈α∂posed␈α∂by␈α∂each␈α∂other␈α⊂and␈α∂by␈α∂the␈α∂user.␈α∂ Inadvertantly,␈α∂a␈α∂new␈α∂style␈α⊂of␈α∂target
␈↓ d␈↓program␈αwas␈αsynthesized:␈αlike␈αPUP6,␈αit␈αcan␈αbe␈αinterrupted␈αas␈αit␈αruns␈αand␈αqueried␈αabout␈αwhat␈αit's␈αdoing.␈α This
␈↓ d␈↓research␈α⊃revealed␈α⊃some␈α⊃major␈α⊃difficulties␈α⊃the␈α⊃"next␈α⊃generation"␈α⊃of␈α⊃nonformal␈α⊃automatic␈α∩program␈α⊃synthesis
␈↓ d␈↓systems must face.
␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α4␈↓∧␈↓&1. Motivation␈↓)αβ␈↓
␈↓"/␈↓ d␈↓Many␈αAI␈αresearchers␈α(e.g.,␈α
Sussman,␈αGoldstein)␈αhave␈αexperimented␈αwith␈α
the␈αgeneration␈αof␈αsmall␈αprograms,␈α
from
␈↓ d␈↓partial␈α∂specificiations␈α⊂in␈α∂an␈α∂ambiguous␈α⊂language.␈α∂They␈α⊂recognize␈α∂that␈α∂larger␈α⊂capabilities␈α∂are␈α⊂prerequisite␈α∂to
␈↓ d␈↓utility,␈αbut␈α(correctly)␈αargue␈αthat␈αmastery␈αof␈αtoy␈αtasks␈αmust␈αprecede␈αmastery␈αof␈αreal␈αones.␈α Efforts␈αon␈αsynthesis␈αof
␈↓ d␈↓␈↓βlarge␈↓␈αprograms␈αconcentrate␈αon␈αefficient␈αbut␈αroutine␈αtransformations,␈αcompilations␈αof␈αwell-specified␈αprograms␈αin
␈↓ d␈↓higher languages (e.g., by heuristic compilers).
␈↓"/␈↓ d␈↓Despite␈α∞the␈α∞small␈α∞chance␈α∞for␈α∞success␈α∞in␈α∞aiming␈α∂at␈α∞ambitious␈α∞targets,␈α∞it␈α∞it␈α∞is␈α∞dangerous␈α∞to␈α∂develop␈α∞techniques
␈↓ d␈↓applicable␈α
only␈α
to␈α
small␈α
tasks.␈α
 The␈α
analogy␈α∞between␈α
understanding␈α
the␈α
construction␈α
of␈α
a␈α
10-line␈α∞program,␈α
in
␈↓ d␈↓five␈αminutes␈αof␈αdialogue,␈αand␈αunderstanding␈αthe␈αconstruction␈α
of␈αa␈α100-page␈αprogram,␈αin␈αfive␈αhours␈αof␈α
dialogue,
␈↓ d␈↓is at best superficial.
␈↓"/␈↓ d␈↓A␈α
system,␈α
PUP6,␈α
was␈α
partially␈α
implemented␈α
to␈α
study␈α
large␈α
code␈α
generation␈α
tasks.␈α
It␈α
did␈α
ultimatedly␈αsynthesize
␈↓ d␈↓three␈α LISP␈αprograms:␈αa␈αstructural␈αconcept␈αformation␈αprogram,␈αa␈αgrammatical␈αinference␈αprogram,␈αand␈αa␈αsimple
␈↓ d␈↓property␈α∀list␈α∪maintenance␈α∀routine␈α∀(referred␈α∪to␈α∀as␈α∀CF,␈α∪GI,␈α∀and␈α∀PL).␈α∪Some␈α∀unanticipated␈α∀dificulties␈α∪were
␈↓ d␈↓encountered which may be inherent in syntheses of this magnitude.
␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α!␈↓∧␈↓&2. Task␈↓)αβ␈↓
␈↓"/␈↓ d␈↓The␈α∩task␈α∩of␈α∩synthesizing␈α∪large␈α∩INTERLISP[9]␈α∩programs,␈α∩from␈α∩long␈α∪specific␈α∩dialogues␈α∩with␈α∩a␈α∩user,␈α∪in␈α∩a
␈↓ d␈↓restricted subset of English, was considered. This activity will be referred to as ␈↓βautomatic programming␈↓.

␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ =page  1␈↓
␈↓ d␈↓The␈αfirst␈αquestion␈αto␈αsettle␈αin␈αsuch␈αan␈αendeavor␈αis␈αwhat␈αthe␈α␈↓βtarget␈αprograms␈↓␈α(the␈αgenerated␈αcode)␈αare␈α
going␈αto
␈↓ d␈↓be.␈α
 More␈α
generally,␈α
what␈α
is␈α
the␈α
 domain␈α
of␈α
the␈α
target␈α
programs?␈α
A␈α
large␈α
amount␈α
of␈α
effort␈α
was␈α
spent␈α
on␈α
this
␈↓ d␈↓question,␈αand␈αthe␈αchosen␈αdomain␈αwas␈αinductive␈αinference␈αprograms.␈αThe␈αobvious␈αproblem␈αhere␈αis␈αthe␈αsize␈αand
␈↓ d␈↓sophistication of the targets, but there are four big attractions:
␈↓"/␈↓ d␈↓(i) A  wide  range  of  complexity  exists,  from  a  one-page   sequence extrapolator   to   Meta-Dendral.
␈↓"/␈↓ d␈↓(ii)␈α
  Each␈α  increasingly␈α
sophisticated␈αinductive␈α
inference␈αprogram␈α
 uses␈α many␈α
 of␈α the␈α
 concepts␈α embodied␈α
 in
␈↓ d␈↓simpler  inductive inference programs.
␈↓"/␈↓ d␈↓(iii)␈α∂If␈α⊂a␈α∂super-human␈α⊂target␈α∂program␈α∂is␈α⊂ever␈α∂written,␈α⊂it␈α∂could␈α∂itself␈α⊂contribute␈α∂to␈α⊂the␈α∂ field␈α⊂ of␈α∂ Automatic
␈↓ d␈↓Programming! (This remark is humorous in the seventies, but may be commonplace someday.)
␈↓"/␈↓ d␈↓(iv)␈α∃ Since␈α∃people␈α∀(especially␈α∃scientific␈α∃researchers)␈α∀are␈α∃the␈α∃inductive␈α∀inference␈α∃experts,␈α∃our␈α∃reliance␈α∀on
␈↓ d␈↓introspection  is  as valid  --  and potentially as valuable -- as chemists' protocols were to Dendral.
␈↓"/␈↓ d␈↓After␈α
 studying␈α many␈α
 sample␈α
 programs␈α from␈α
 the␈α
inductive␈αinference␈α
domain,␈α
sequence␈αextrapolation␈α
seemed
␈↓ d␈↓the␈α∞most␈α∞reasonable␈α∞ beginning␈α
task.␈α∞It␈α∞was␈α∞quickly␈α∞learned␈α
that␈α∞this␈α∞was␈α∞too␈α
easy:␈α∞humans␈α∞have␈α∞only␈α∞a␈α
few
␈↓ d␈↓techniques␈α⊂for␈α∂extrapolating␈α⊂ sequences,␈α∂ and␈α⊂ a␈α∂ very␈α⊂ limited␈α∂capacity␈α⊂  for␈α∂  composing␈α⊂  them.␈α⊂  Thus␈α∂ a
␈↓ d␈↓rather␈α⊃ rigid␈α⊃ sequence␈α⊃extrapolator␈α⊃writer␈α⊃may␈α⊃be␈α⊃capable␈α⊃of␈α⊃generating␈α⊃ a␈α⊃ large␈α⊃ class␈α⊃ of␈α⊂super-human
␈↓ d␈↓extrapolation programs (see section 4.2 on Sequence-Extrapolator-Writer, in [3]).
␈↓"/␈↓ d␈↓The␈α
 next␈α∞ candidates␈α
 were␈α
grammatical␈α∞inference␈α
and␈α
concept␈α∞formation␈α
[4].␈α
 Determined␈α∞not␈α
to␈α∞choose␈α
too
␈↓ d␈↓simple␈α a␈α task␈α again,␈α the␈αlatter␈αprogram␈αwas␈αfinally␈αdecided␈αupon.␈α The␈αparticular␈αtarget␈αwas␈αsimilar␈αto␈α[10],
␈↓ d␈↓except Winston's heuristic graph-matching algorithm was simplified.
␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α↓␈↓∧␈↓&3. Target program␈↓)αβ␈↓
␈↓"/␈↓ d␈↓It␈α
seems␈α
instructive␈α
now␈αto␈α
describe␈α
in␈α
detail␈αhow␈α
CF,␈α
the␈α
 target␈α
 program,␈αshould␈α
operate.␈α
It␈α
repeatedly␈αscans␈α
a
␈↓ d␈↓scene␈α
and␈α
tries␈α
to␈α
name␈α
it.␈α
The␈α
scene␈α
is␈α
broken␈α
into␈α
a␈α
set␈α
of␈α
features␈α
and␈α
a␈α
set␈α
of␈α
objects.␈α
Each␈α
feature␈α
is␈α a
␈↓ d␈↓relation␈α
on␈α
 one␈α
 or␈α
 more␈α
 objects␈α
 in␈α
 the␈α
 scene.␈α
 Internally,␈α
 CF␈α
maintains␈α
a␈α
model␈α
for␈αeach␈α
differently-named
␈↓ d␈↓scene␈αit␈αhas␈αever␈αencountered.␈α The␈αmodel␈α contains␈α a␈α description␈α of␈α the␈αobjects␈αexpected␈αin␈αthe␈αscene,␈αa␈αset
␈↓ d␈↓of␈α
features␈α
which␈α
must␈α
be␈αpresent␈α
in␈α
any␈α
scene␈α
having␈αthis␈α
name,␈α
a␈α
set␈α
of␈αfeatures␈α
which␈α
must␈α
not␈α
be␈αpresent␈α
in
␈↓ d␈↓the␈α
scene,␈αand␈α
a␈α
set␈αof␈α
features␈α
which␈αmay␈α
or␈α
 may␈α not␈α
be␈α
 present.␈α Thus␈α
 a␈α
model␈αis␈α
an␈α
archtypical␈αscene␈α
plus
␈↓ d␈↓a␈αname.␈α Each␈αtime␈αit␈αis␈αconfronted␈αby␈αa␈αnew␈αscene,␈αCF␈α must␈αscan␈αits␈αmodels␈αuntil␈αit␈αfinds␈αone␈αwhich␈αmatches
␈↓ d␈↓it.␈αA␈α
model␈αis␈αsaid␈α
to␈αmatch␈α
a␈αscene␈αif␈α
all␈αthe␈αMUST␈α
features␈αassociated␈α
with␈αthat␈αmodel␈α
are␈αobserved␈α
in␈αthe
␈↓ d␈↓scene,␈αand␈αall␈αthe␈αMUSTNOT␈α features␈α are␈αabsent␈α from␈α the␈α  scene.␈αCF␈αinforms␈αthe␈αuser␈αof␈αthis␈αguess,␈αand
␈↓ d␈↓accepts␈αthe␈αproper␈α
 name.␈αIf␈αit␈α
 guessed␈α incorrectly,␈α it␈α
modifies␈αits␈αmodels.␈α
The␈αwrong-guess␈αmodel␈α
may␈αhave
␈↓ d␈↓features␈αadded␈αto␈αits␈αMUST␈αor␈αMUSTNOT␈αsets.␈α This␈αprevents␈αCF␈αfrom␈αmaking␈αthe␈αsame␈αwrong␈αguess␈αtwice
␈↓ d␈↓in␈αsuccession.␈α The␈αcorrect-name␈αmodel␈αmay␈αhave␈α to␈αbe␈α modified␈αor␈α(if␈αit's␈αa␈αnew␈αname)␈αcreated␈αand␈αinserted
␈↓ d␈↓into the list of models.


␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ =page  2␈↓

␈↓"	␈↓ d␈↓For example, part of a scene might be:     
␈↓"	␈↓ d␈↓        OBJECTS a,b,c,d
␈↓"	␈↓ d␈↓        RELATIONS  (GREEN a) (BLUE c) (TOUCHES c d) (SUPPORTS a c) (SUPPORTS b c)
␈↓"	
␈↓"	␈↓ d␈↓CF's current model for an arch might be:           
␈↓"	␈↓ d␈↓        NAME    ARCH
␈↓"	␈↓ d␈↓        OBJECTS a,b,c
␈↓"	␈↓ d␈↓        MUST    (SUPPORTS a c) (SUPPORTS b c)
␈↓"	␈↓ d␈↓        MUSTNOT (TOUCHES a b)
␈↓"	␈↓ d␈↓        MAY     (GREEN a) (WEDGE c) (PRISM a) (BLOCK b) (PARALLEL a b)
␈↓"/␈↓ d␈↓Suppose␈α that␈α
the␈αtarget␈α
program␈αreads␈αin␈α
the␈αabove␈α
scene␈αfragment␈α
and␈αtries␈αto␈α
match␈αit␈α
to␈α the␈α above␈α
 model
␈↓ d␈↓for␈α
 consistency.␈α
 The␈α
 MUST␈α
relations␈α
 should␈α
 all␈α
 be␈α
 present.␈α
  Yes,␈α
 the␈α
 scene␈α
 does␈α
contain␈α
(SUPPORTS␈α
a
␈↓ d␈↓c)␈α⊂and␈α⊂(SUPPORTS␈α⊂b␈α⊂c).␈α∂Next,␈α⊂the␈α⊂MUSTNOT␈α⊂ relations␈α⊂ must␈α∂be␈α⊂absent␈α⊂from␈α⊂the␈α⊂scene.␈α⊂Sure␈α∂enough,
␈↓ d␈↓(TOUCHES␈αa␈αb)␈αisn't␈αthere.␈α So␈αthe␈αmodel␈αand␈αscene␈αare␈αconsistent,␈αand␈αthe␈αprogram␈αannounces␈αthat␈αits␈αguess
␈↓ d␈↓is␈α⊂ARCH.␈α∂ If␈α⊂the␈α∂user␈α⊂verifies␈α∂this␈α⊂guess,␈α∂then␈α⊂ the␈α∂MAY␈α⊂set␈α∂of␈α⊂the␈α∂ARCH␈α⊂model␈α∂is␈α⊂augmented␈α⊂with␈α∂the
␈↓ d␈↓relations (BLUE c) and (TOUCHES c d), and the OBJECTS set is augmented with "d."
␈↓"/␈↓ d␈↓If␈αthe␈αuser␈αdenies␈αthat␈αthe␈αscene␈αis␈αan␈αarch,␈αCF␈αsees␈αif␈αthere␈αare␈αany␈αrelations␈αin␈αthe␈αARCH␈αmodel's␈αMAY␈αset
␈↓ d␈↓which␈αdo␈αnot␈αoccur␈αin␈αthe␈αscene.␈αIf␈αso,␈αone␈αof␈αthem␈α(e.g.,␈α(PARALLEL␈αa␈αb))␈αwill␈αbe␈αtransferred␈αfrom␈αthe␈αMAY
␈↓ d␈↓to␈α
the␈αMUST␈α
set.␈α If␈α
no␈αsuch␈α
feature␈αexisted,␈α
the␈αprogram␈α
would␈αlook␈α
for␈αa␈α
feature␈αpresent␈α
in␈αthe␈α
scene␈αbut␈α
not
␈↓ d␈↓mentioned␈α
in␈αany␈α
set␈αof␈α
the␈αARCH␈α
model␈α(e.g.,␈α
(TOUCHES␈αc␈α
d)),␈αand␈α
insert␈αit␈α
into␈αthe␈α
MUSTNOT␈α
set.␈α In
␈↓ d␈↓either␈α⊃case,␈α⊃the␈α⊃user␈α⊃would␈α⊃be␈α⊃asked␈α⊃what␈α⊃the␈α⊃true␈α⊃name␈α⊃was,␈α⊃and␈α⊃that␈α⊃model␈α⊃would␈α⊃have␈α⊃its␈α⊃MAY␈α⊃set
␈↓ d␈↓augmented␈α
by␈α
any␈α
new␈αfeatures␈α
in␈α
the␈α
scene.␈αAny␈α
features␈α
on␈α
 the␈αtrue-name␈α
model's␈α
MUST␈α
or␈αMUSTNOT
␈↓ d␈↓sets which contradicted the scene would be transferred to the MAY set.
␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α'␈↓∧␈↓&4. Annotated protocol␈↓)αβ␈↓
␈↓"/␈↓ d␈↓After␈α
the␈α
target␈α
concept␈α
formation␈αprogram␈α
was␈α
specified,␈α
 it␈α
was␈αtrimmed␈α
and␈α
then␈α
rewritten␈α
as␈α
a␈αstructured
␈↓ d␈↓program␈α∩[2].␈α∩Next,␈α∩a␈α∩complete␈α∩dialogue␈α∩was␈α∩ simulated␈α∩ between␈α∩ the␈α∩ user␈α∩ and␈α∩ a␈α∩ human␈α⊃programmer
␈↓ d␈↓(referred␈αto␈αas␈αthe␈αsystem-player)␈αplaying␈αthe␈αrole␈αof␈αan␈α"intelligent"␈α automatic␈α programming␈α system␈α (similar
␈↓ d␈↓to,␈α
  e.g.,␈α
[1]).␈α
     The␈α  system-player␈α
  kept␈α
  careful␈α
 records␈α as␈α
 he␈α
programmed,␈α
and␈αtried␈α
to␈α
create␈α
a␈αbug-
␈↓ d␈↓free␈α⊂ structured␈α∂ program.␈α⊂ The␈α∂dialogue␈α⊂ was␈α∂ then␈α⊂annotated:␈α∂    after␈α⊂each␈α∂user␈α⊂response,␈α⊂comments␈α∂were
␈↓ d␈↓inserted␈α∂which␈α∂described␈α∂the␈α∞"states"␈α∂the␈α∂system-player␈α∂had␈α∂gone␈α∞through␈α∂before␈α∂printing␈α∂his␈α∂next␈α∞response.
␈↓ d␈↓This␈αincluded␈αblind␈αpaths␈αwhich␈αwere␈αtried,␈αuse␈αof␈αoutside␈αworld␈αknowledge,␈α and,␈α in␈α general,␈αwas␈α meant␈α to
␈↓ d␈↓be␈α the␈α"reasoning"␈αnecessary␈αto␈αdo␈αthe␈αtask.␈α The␈αfear␈αwas␈αthat␈αa␈αsystem␈αcould␈αbe␈αbuilt␈αwhich␈αsynthesized␈αCF,
␈↓ d␈↓yet␈α was␈α
 so␈αunintelligent␈α
that␈αnothing␈α
was␈αlearned␈α
from␈αit␈α(e.g.,␈α
see␈αsection␈α
4.1␈αon␈α
PW1␈α in␈α
 [3]).␈α Henceforth,
␈↓ d␈↓␈↓βprotocol␈↓ will refer to this user-player / system-player simulated dialogue.
␈↓"/␈↓ d␈↓The␈α∂central␈α∞goals␈α∂in␈α∂writing␈α∞PUP6␈α∂were␈α∞that␈α∂it␈α∂(i)␈α∞correctly␈α∂generate␈α∞the␈α∂target␈α∂program␈α∞CF,␈α∂(ii)␈α∂follow␈α∞the
␈↓ d␈↓protocol,␈αand,␈αmost␈αimportantly,␈α(iii)␈α
go␈αthrough␈α the␈α same␈α line␈α
of␈αreasoning␈αthat␈αthe␈αcomments␈α
indicated␈αthe
␈↓ d␈↓system-player␈α
followed.␈α
PU6␈α
would␈α∞be␈α
far␈α
along␈α
the␈α∞road␈α
toward␈α
utility␈α
if␈α
it␈α∞also␈α
 (iv)␈α
 could␈α
write␈α∞CF␈α
 from


␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ =page  3␈↓
␈↓ d␈↓several␈αdialogues,␈α
from␈αseveral␈α
users,␈αwith␈α
little␈αpreparation.␈αPUP6␈α
was␈αnot␈α
designed␈αto␈α
do␈αthis,␈α
and␈αin␈αthe␈α
 end
␈↓ d␈↓it  proved to be a crippling deficit.
␈↓"/␈↓ d␈↓A␈αcorollary␈αof␈αthis␈αincremental␈αannotated␈αprotocol␈αapproach␈αis␈αthat␈αthe␈αabilities␈αof␈αthe␈αuser␈αmust␈αcoincide␈αwith
␈↓ d␈↓those␈α∂ of␈α∂ the␈α∞ subject␈α∂ who␈α∂participated␈α∞ in␈α∂the␈α∂protocol.␈α∂ To␈α∞be␈α∂successful,␈α∂the␈α∞user␈α∂must␈α∂be␈α∂familiar␈α∞with
␈↓ d␈↓LISP,␈α⊂ well-grounded␈α⊂ in␈α∂ computer␈α⊂ science,␈α⊂  and␈α∂  have␈α⊂  the␈α⊂input/output␈α∂ behavior␈α⊂ of␈α⊂CF,␈α⊂the␈α∂concept
␈↓ d␈↓formation␈α
 target␈α
program,␈α
very␈α
clearly␈αin␈α
his␈α
mind.␈α
The␈α
natural␈α
language␈αfront␈α
 end␈α
 is␈α
 so␈α
 brittle␈α
that␈α the
␈↓ d␈↓user must also phrase his responses very similarly to those of the original protocol user-player.
␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α~␈↓∧␈↓&5. The BEINGs scheme␈↓)αβ␈↓
␈↓"/␈↓ d␈↓The␈αnext␈αmajor␈αdesign␈αissue␈αis␈αthe␈αinternal␈αmechanism␈αfor␈αachieving␈αthis␈αtask.␈α The␈αearlier␈αPUP␈αprograms␈α[3]
␈↓ d␈↓had␈αtaught␈αthe␈αauthor␈αto␈αorganize␈αthe␈αsystem␈αknowledge␈αin␈αways␈αmeaningful␈αto␈αhow␈αit␈αwould␈αbe␈αneeded.␈αThis
␈↓ d␈↓need␈α⊂for␈α⊂structuring␈α⊂is␈α⊂also␈α⊂echoed␈α⊂in␈α⊂[7].␈α⊂ Many␈α⊂people,␈α⊂however,␈α⊂champion␈α⊂the␈α⊂merits␈α⊂of␈α⊂uniformity:␈α∂ in
␈↓ d␈↓particular,␈αconceptually␈αeasy␈αaddition␈αof␈αnew␈α
knowledge,␈αand␈αmore␈αstandardized␈α(hence␈αsimpler)␈α
communication
␈↓ d␈↓and␈α
interaction␈α
between␈α∞the␈α
knowledge.␈α
 Not␈α∞wishing␈α
to␈α
give␈α
up␈α∞these␈α
advantages,␈α
a␈α∞compromise␈α
mechanism,
␈↓ d␈↓BEINGs, was developed.
␈↓"/␈↓ d␈↓A␈αBEING␈αis␈αa␈αloosely-knit␈αlittle␈αexpert,␈αa␈αcollection␈αof␈αabout␈αthirty␈αdifferent␈αquestions␈αand␈αtheir␈αanswers.␈α
 Each
␈↓ d␈↓such␈α∞part␈α∞of␈α∞a␈α∞BEING,␈α∞called␈α∞an␈α∞␈↓βorgan␈↓,␈α∞is␈α∞therefore␈α∞an␈α∞explanation␈α∞of␈α∞some␈α∞facet␈α∞of␈α∞the␈α∞BEING.␈α∂ In␈α∞other
␈↓ d␈↓words,␈αa␈αspecialist␈αis␈αconsidered␈α␈↓βequivalent␈↓␈αto␈αits␈αanswers␈α
to␈αa␈αcouple␈αdozen␈αqueries.␈αIn␈αanswering␈αa␈αquestion,␈α
all
␈↓ d␈↓a␈αBEING␈αmay␈αdo␈αis␈αto␈αcreate␈αa␈αnew␈αBEING,␈αfill␈αin␈αsome␈αBEING's␈αanswer␈αto␈αsome␈αquestion,␈αand␈αask␈αquestions
␈↓ d␈↓(of itself, of other BEINGs, of the human user interacting with  the system).
␈↓"/␈↓ d␈↓So␈α
far,␈α
this␈αrepresentation␈α
is␈α
isomorphic␈αto␈α
the␈α
ACTOR[5]␈αformalism.␈α
 The␈α
structure␈αis␈α
present,␈α
all␈α
right,␈αbut
␈↓ d␈↓what␈α
about␈α
the␈α
uniformity?␈α
It␈α
seems␈α
that␈α
one␈α
can't␈αadd␈α
a␈α
new␈α
BEING␈α
(write␈α
its␈α
organs)␈α
unless␈α
he␈α
knows␈αthe
␈↓ d␈↓particular␈α∞questions␈α∂he␈α∞can␈α∞ask␈α∂each␈α∞other␈α∂BEING␈α∞in␈α∞the␈α∂system␈α∞(the␈α∂names␈α∞of␈α∞their␈α∂organs),␈α∞and␈α∂that␈α∞one
␈↓ d␈↓BEING can't communicate with another unless it specifically knows what that BEING can be asked.
␈↓"/␈↓ d␈↓Both␈α
problems␈α
theoretically␈α
disappear␈α
if␈α
the␈α
set␈α
of␈α
questions␈α
is␈α
␈↓βfixed␈↓␈α
once␈α
and␈α
for␈α
all.␈α
 That␈α
is,␈α
let␈α
every␈α
BEING
␈↓ d␈↓consist␈αof␈αanswers␈αto␈αa␈αsingle␈αset␈αof␈αquestions␈α(have␈αthe␈αsame␈αset␈αof␈αorgans),␈αand␈αlet␈αthe␈αuser␈αand␈αevery␈αBEING
␈↓ d␈↓have access to (and implicit understanding of) the names of these questions.
␈↓"/␈↓ d␈↓Of␈αcourse␈αthe␈αnumber␈αof␈αquestions␈α(organs)␈αis␈αarbitrary,␈αbut␈αit␈αshould␈αnot␈αbe␈αignored␈αcompletely.␈α By␈αchoosing
␈↓ d␈↓it␈αto␈αbe␈α~1,␈αa␈αcompletely␈αuniform␈αrepresentation␈αis␈αobtained.␈α By␈αallowing␈αit␈αto␈αbe␈α~1000,␈αone␈αcould␈αsimply␈αtake
␈↓ d␈↓the␈αunion␈αof␈αall␈αthe␈αquestions␈αany␈αBEING␈αwanted,␈αand␈αthus␈αall␈αthe␈αuniformity␈αwould␈αdisappear.␈α The␈αnumber
␈↓ d␈↓of␈α
organs␈α
each␈α
BEING␈α
has␈α
is␈α
therefore␈α∞a␈α
parameter␈α
expressing␈α
the␈α
degreee␈α
of␈α
compromise␈α∞between␈α
structure
␈↓ d␈↓and standardization in the community of BEINGs.
␈↓"/␈↓ d␈↓The␈αspecific␈αBEING␈α
organs␈αchosen␈αhave␈α
much␈αto␈αdo␈α
with␈αthe␈αepistemology␈α
of␈αprogramming.␈α The␈αtentative␈α
set
␈↓ d␈↓of␈αorgans␈αimplemented␈αin␈αeach␈αBEING␈αin␈αPUP6␈αare␈αlisted␈αbelow,␈αfollowed␈αby␈αa␈αbrief␈αdescription.␈αAlso␈αlisted␈αis
␈↓ d␈↓the percentage of the original PUP6 pool which actually wanted the organ specified.

␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ =page  4␈↓
␈↓ d␈↓␈↓↓IDEN␈↓ 54%  How is this BEING referenced in English phrases? Implemented as productions.
␈↓"	␈↓ d␈↓␈↓↓ARGS␈↓ 63%  How many arguments? Which are optional? Are there any local variables?
␈↓"	␈↓ d␈↓␈↓↓ARG-CHECK␈↓ 81%  Predicates which examine each argument for suitability.
␈↓"	␈↓ d␈↓␈↓↓EVAL-ARGS␈↓  4%  Which arguments are to be evaluated, and which quoted?
␈↓"	␈↓ d␈↓␈↓↓WHAT␈↓ 82%  A brief summary of the global purpose. Usually a template for an English sentence.
␈↓"	␈↓ d␈↓␈↓↓WHY␈↓ 77%  A justification of the BEING's existence. The caller explains here why it was called.
␈↓"	␈↓ d␈↓␈↓↓HOW␈↓ 72%  A summary of the methods the BEING intends to employ. Global strategies.
␈↓"	␈↓ d␈↓␈↓↓EFFECTS␈↓ 27%  What will probably be true after this BEING is through? What can it achieve?
␈↓"	␈↓ d␈↓␈↓↓WHEN␈↓ 19%  Why should this BEING be given control now? Computed as the sum of weighted factors.
␈↓"	␈↓ d␈↓␈↓↓META-CODE␈↓ 70%  The body of the executable code, but with uninstantiated subparts.
␈↓"	␈↓ d␈↓␈↓↓COMMENTS␈↓ 16%  Hints for filling in undefined sections of other BEING organs.
␈↓"	␈↓ d␈↓␈↓↓REQUISITES␈↓ 10%  If this BEING is actually chosen, what must be made true just before (pre-),
␈↓"	␈↓ d␈↓during (co-), and after (post-) execution?  Work to make these true (unlike ARG-CHECK).
␈↓"	␈↓ d␈↓␈↓↓DEMONS␈↓ 7%  Which demons should be kept active while the BEING is in control?
␈↓"	␈↓ d␈↓␈↓↓AFFECTS␈↓ 14%  Which other BEINGs might be called by this BEING, and why?
␈↓"	␈↓ d␈↓␈↓↓COMPLEXITY␈↓ 92%  A vector of utility measures, including ease of calling, chance of success, chance
␈↓"	␈↓ d␈↓of (calling)* itself, expected time cost, efficiency of its output results.
␈↓"	␈↓ d␈↓␈↓↓SPECIALIZATIONS␈↓ 40%  How to write a more streamlined, special-case version of this BEING.
␈↓"	␈↓ d␈↓␈↓↓GENERALIZATIONS␈↓ 27%  What are some other BEINGs, encompassing this one?
␈↓"	␈↓ d␈↓␈↓↓ALTERNATIVES␈↓ 16%  What are some equivalent BEINGs? (to try if this one fails)
␈↓"	␈↓ d␈↓␈↓↓RESULTS␈↓ 15%  How many values does this return? What domain is each in? Any side effects?
␈↓"	␈↓ d␈↓␈↓↓STRUCTURE␈↓ 4% If this is ever viewed as a data structure, what operations are done to it, and how?
␈↓"	␈↓ d␈↓␈↓↓ENCODABLE␈↓ 9%  How to order the evaluation of the other organs, when writing a new version.
␈↓"	␈↓ d␈↓␈↓↓FORM-CHANGING␈↓ 1% Should the entire structure of an existing BEING be radically altered?
␈↓"	␈↓ d␈↓␈↓↓INHIBIT-DEMONS␈↓  5%  A lock/unlock mechanism, useful when handling demonic interrupts.
␈↓"/␈↓ d␈↓The␈αoperational␈αdetails␈αof␈αeach␈αorgan␈αwill␈αbe␈αexplained␈αby␈αdissecting␈αOBTAIN-USABLE-INFORMATION,␈αa
␈↓ d␈↓high-level,␈α
domain-independent␈α
BEING.␈α
For␈α
each␈α
organ␈α
is␈α∞listed␈α
its␈α
␈↓↓NAME␈↓,␈α
␈↓αa␈α
typical␈α
question␈α
which␈α∞it␈α
would
␈↓ d␈↓αanswer␈↓,␈α␈↓↓its␈αanswer␈↓,␈α␈↓αthe␈αLISP␈αprogram␈αstored␈αas␈α
the␈αvalue␈αof␈αthat␈αorgan␈αin␈αOBTAIN-USABLE-INFORMATION␈↓␈α(the␈α
way
␈↓ d␈↓it computed the answer), and a brief discussion.


␈↓"	␈↓ d␈↓α␈↓↓IDEN␈↓α         Can you recognize this: "Find out more about frobs"?           ␈↓↓Yes. Call me with argument "frobs".␈↓α
␈↓"	␈↓ d␈↓α   ((if you see: (OBTAIN-USABLE-INFORMATION any1)
␈↓"	␈↓ d␈↓α                 then return: (OBTAIN-USABLE-INFORMATION (TRANSLATE any1)))
␈↓"	␈↓ d␈↓α    (if you see:(FIND OUT MORE ABOUT any1)
␈↓"	␈↓ d␈↓α                 then return: (OBTAIN-USABLE-INFORMATION any1)))
␈↓"/␈↓ d␈↓Each␈α
BEING␈αis␈α
given␈αthe␈α
duty␈αto␈α
recognize␈αand␈α
process␈αEnglish␈α
phrases␈αrelated␈α
to␈αhim.␈α
 In␈αpractice,␈α
only␈αa␈α
few
␈↓ d␈↓simple␈α∞phrase␈α∞templates␈α∞were␈α∞needed␈α∞for␈α∞each␈α∞BEING;␈α∞OBTAIN-USABLE-INFORMATION␈α∞only␈α∞used␈α
two
␈↓ d␈↓patterns.␈α
 All␈α
the␈α
IDEN␈α
organs␈α
are␈αcollected␈α
together␈α
into␈α
one␈α
table.␈α
 When␈αa␈α
form␈α
␈↓βF␈↓␈α
must␈α
be␈α
translated,␈αthe
␈↓ d␈↓TRANSLATE␈α∞BEING␈α
takes␈α∞control␈α
and␈α∞(by␈α
searching␈α∞this␈α
table)␈α∞asks␈α
"who␈α∞can␈α
recognize␈α∞␈↓βF␈↓?"␈α∞ Each␈α
IDEN
␈↓"∧␈↓ d␈↓organ␈αruns␈αa␈αlittle␈αprogram␈α(typically␈αa␈αpattern-match),␈αthen␈αreplies␈αeither␈αNO,␈αor␈αelse␈αprovides␈αa␈αlittle␈α
program␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ =page  5␈↓
␈↓ d␈↓whose␈α∂value␈α∂should␈α∞be␈α∂the␈α∂translation␈α∞of␈α∂␈↓βF␈↓.␈α∂ If␈α∞there␈α∂is␈α∂more␈α∞than␈α∂one␈α∂responder,␈α∞a␈α∂global␈α∂choice␈α∞BEING,
␈↓ d␈↓CHOOSE-FROM,␈α⊃selects␈α⊃the␈α⊃winner.␈α⊃ Often,␈α⊃as␈α⊃in␈α⊃the␈α⊃first␈α⊃case␈α⊃for␈α⊃this␈α⊃BEING,␈α⊃the␈α⊃program␈α⊃which␈α⊂is
␈↓ d␈↓returned calls TRANSLATE recursively on some organs of ␈↓βF␈↓.


␈↓"	␈↓ d␈↓α␈↓↓EXPLICIT-ARGS␈↓α        What arguments do you take?            ␈↓↓The single argument U␈↓α.      (U)
␈↓"/␈↓ d␈↓The␈αargument␈αto␈αthis␈αBEING␈αis␈αnever␈αoperated␈αupon,␈αhence␈αthere␈αis␈αno␈αneed␈αto␈αunderstand␈αanything␈αabout␈αit.
␈↓ d␈↓It is simply passed to BEINGs called by OBTAIN-USABLE-INFORMATION.
␈↓ d␈↓α␈↓↓WHAT␈↓α        Basically, what do you do?     ␈↓↓I obtain some information which can be used.␈↓α
␈↓"	␈↓ d␈↓α␈↓↓HOW␈↓α          How do you do this?            ␈↓↓Either obtain new facts about old information, or
␈↓"	␈↓ d␈↓↓                                                                else obtain totally new information.␈↓α
␈↓"	␈↓ d␈↓α␈↓↓WHY␈↓α          Why do you do this?            ␈↓↓PUP6 has no more information that is immediately usable␈↓α.
␈↓"/␈↓ d␈↓These␈α∩three␈α∩organs␈α∩are␈α∩primarily␈α∪for␈α∩the␈α∩user's␈α∩benerfit.␈α∩In␈α∩the␈α∪current␈α∩case,␈α∩they␈α∩don't␈α∩even␈α∪have␈α∩any
␈↓ d␈↓uninstantiated␈α⊃organs.␈α∩ If␈α⊃the␈α⊃user␈α∩asks␈α⊃one␈α⊃of␈α∩these␈α⊃questions␈α⊃when␈α∩this␈α⊃BEING␈α⊃is␈α∩in␈α⊃control,␈α∩then␈α⊃the
␈↓ d␈↓appropriate answer can simply be typed out.


␈↓"	␈↓ d␈↓α␈↓↓WHEN␈↓α         How badly do you want control now, and why?      ␈↓↓Overall rating is high because
␈↓"	␈↓ d␈↓↓                                                                        there are 5 pieces of new information.␈↓α
␈↓"	␈↓ d␈↓α((if T then add in -10 because (THIS IS AN EXPONENTIALLY-GROWING, BAD THING TO DO IN GENERAL))
␈↓"	␈↓ d␈↓α (if NEW-INFO-LIST then add in  (PLUS  100  (LENGTH  NEW-INFO-LIST))
␈↓"	␈↓ d␈↓α                because (WE SHOULD WORK ON UNASSIMILATED NEW  INFORMATION IF THERE IS ANY)))
␈↓"/␈↓ d␈↓The␈αWHEN␈αorgan␈αof␈αa␈αBEING␈αis␈αa␈αcollection␈αof␈αtriples:␈αif␈α<predicate>␈αthen␈α<value>␈αbecause␈α<reason>.␈α If␈αthe
␈↓ d␈↓<predicate>␈α∞evaluates␈α
to␈α∞non-null,␈α∞then␈α
the␈α∞<value>␈α∞program␈α
is␈α∞executed.␈α
It␈α∞returns␈α∞a␈α
number,␈α∞which␈α∞is␈α
then
␈↓ d␈↓added␈αtogether␈αwith␈αthe␈αother␈αfactors'␈αnumbers␈αto␈αproduce␈αa␈αrough␈αestimate␈αof␈αhow␈αa␈αpropos␈αthis␈αBEING␈αis␈αto
␈↓ d␈↓take␈αcontrol␈α
right␈αnow.␈α
 The␈α<reason>␈α
evaluates␈αto␈α
an␈αEnglish␈α
phrase,␈αfor␈α
the␈αbenefit␈α
of␈αinquisitive␈αusers.␈α
 This
␈↓ d␈↓linear␈α
scheme␈α
is␈α
undesirable␈α
but␈α
(sigh)␈α
adequate.␈α
The␈α
first␈α
factor␈α
here␈α
says␈α
to␈α
always␈α
add␈α
in␈α
the␈α
number␈α-10;␈α
the
␈↓ d␈↓second␈α
says␈αif␈α
there␈α
is␈αsome␈α
new␈α
information␈αsitting␈α
around␈αunexploited,␈α
to␈α
add␈αin␈α
100␈α
plus␈αthe␈α
number␈αof␈α
such
␈↓ d␈↓pieces.␈α These␈α
factors␈αand␈α
their␈αweights,␈αlike␈α
the␈αcontents␈α
of␈αall␈α
the␈αorgans␈αof␈α
all␈αthe␈α
BEINGs␈αinitially␈αin␈α
PUP6,
␈↓ d␈↓were decided upon and inserted by hand.


␈↓"	␈↓ d␈↓α␈↓↓META-CODE␈↓α      What do you do specifically to achieve your results?         ␈↓↓I have four specific BEINGs
␈↓"	␈↓ d␈↓↓                                                                         decide among themselves who goes next.␈↓α
␈↓"	␈↓ d␈↓α(DO      (CHOOSE-FROM           (GET-NEW-INFORMATION U)
␈↓"	␈↓ d␈↓α                                       (TRANSLATE U)
␈↓"	␈↓ d␈↓α                                       (ANALYZE-IMPLICATIONS U)
␈↓"	␈↓ d␈↓α                                       (EXTRACT-RELEVANT-SUBSET U))
␈↓"	␈↓ d␈↓α    BECAUSE      (WE CAN ONLY TRY TO OBTAIN USABLE INFORMATION IN ONE WAY AT A TIME))
␈↓"/␈↓ d␈↓The␈α∞  META-CODE␈α∞ says␈α∞ to␈α∂ pass␈α∞control␈α∞to␈α∞one␈α∂of␈α∞these␈α∞ four␈α∞BEINGs:␈α∂Get-Brand-New-Information␈α∞ (in
␈↓ d␈↓miniscule␈α
subset␈α
of␈αEnglish,␈α
 from␈α
 the␈α user),␈α
Translate␈α
something␈α   (transform␈α
    from␈α
    restricted␈αEnglish
␈↓ d␈↓to␈α⊂    BEING-calls),␈α∂Analyze-The-Implications␈α⊂ (of␈α∂some␈α⊂existing,␈α∂translated␈α⊂information),␈α∂Extract-a-Relevant-
␈↓ d␈↓Subset␈α
  (of␈α
  the␈α∞  existing␈α
  information)␈α
   to␈α∞concentrate␈α
upon.␈α
 The␈α∞goal␈α
mechanism,␈α
SATISFY,␈α∞is␈α
usually
␈↓ d␈↓employed␈αwhen␈αthe␈αBEING␈αdoesn't␈αknow␈αexactly␈αwhich␈αother␈αBEINGs␈αto␈αcall.␈αIf␈αthe␈α␈↓βset␈↓␈αof␈αpossible␈α
choices␈αis
␈↓ d␈↓known, as in this case, then CHOOSE-FROM may be called with the explicit choice set.


␈↓"	␈↓ d␈↓α␈↓↓MAIN-EFFECTS␈↓α         Are you relevant to making the user aware of the time?         ␈↓↓No.␈↓α
␈↓"∧␈↓ d␈↓α ((to get (NEW INFO any1)      do (OBTAIN-USABLE-INFORMATION any1))␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ =page  6␈↓
␈↓"	␈↓ d␈↓α  (to get (USABLE INFO any1)  do (OBTAIN-USABLE-INFORMATION any1)))
␈↓"/␈↓ d␈↓The␈α∪EFFECTS␈α∪organs␈α∩of␈α∪each␈α∪BEING␈α∩are␈α∪collected␈α∪ into␈α∩one␈α∪ table␈α∪ to␈α∩ facilitate␈α∪ asking␈α∪all␈α∩BEINGs
␈↓ d␈↓simultaneously␈α
"Can␈α
you␈α∞cause␈α
effect␈α
X␈α∞to␈α
occur?"␈α
Each␈α∞EFFECTS␈α
organ␈α
examines␈α∞X␈α
and␈α
 the␈α∞ world,␈α
 and
␈↓ d␈↓either␈α
 replies␈αNo,␈α
or␈α
else␈αreturns␈α
a␈α
little␈αprogram␈α
(involving␈αcalls␈α
and␈α
constants)␈αwhich␈α
 should␈α
 produce␈α the
␈↓ d␈↓effect.␈α This␈αprogram␈αgenerally␈αwill␈α
involve␈αa␈αcall␈αto␈αthe␈αBEING␈α
itself.␈αOBTAIN-USABLE-INFORMATION
␈↓ d␈↓shows that it should be called to acheive the existence of new or usable information.


␈↓"	␈↓ d␈↓α␈↓↓AFFECTS␈↓α             Will you call TRANSLATE?                ␈↓↓Possibly.␈↓α
␈↓"	␈↓ d␈↓α       ((CHOOSE-FROM IS CALLED)
␈↓"	␈↓ d␈↓α        (some BEING who can cause (AWARE USER (ABOUT TO OBTAIN USABLE INFO)) is called)
␈↓"	␈↓ d␈↓α        (TRANSLATE POSSIBLY IS CALLED)
␈↓"	␈↓ d␈↓α        (GET-NEW-INFORMATION POSSIBLY IS CALLED)
␈↓"	␈↓ d␈↓α        (ANALYZE-IMPLICATIONS POSSIBLY IS CALLED)
␈↓"	␈↓ d␈↓α        (EXTRACT-RELEVANT-SUBSET POSSIBLY IS CALLED) )


␈↓"	␈↓ d␈↓α␈↓↓COMPLEXITY-VECTOR␈↓α    How difficult are you to call?         ␈↓↓Average.␈↓α       (.5 .5 .5 .1)
␈↓"/␈↓ d␈↓The␈α
first␈α
component␈α
says␈α
that␈α
OBTAIN-USABLE-INFORMATION␈αis␈α
of␈α
average␈α
difficulty␈α
to␈α
call.␈αNext,␈α
there
␈↓ d␈↓exists␈αa␈α.5␈αchance␈αthat␈αsome␈αdescendant␈αwill␈αcall␈αit␈αagain.␈αThe␈αthird␈αcomponent␈αindicates␈αthat␈αthe␈αcost␈αof␈αtrying
␈↓ d␈↓this␈αBEING␈αis␈αtypical.␈αFinally,␈αthere␈αis␈αno␈αgood␈αreason␈αfor␈αinhibiting␈αit␈αever.␈α In␈αgeneral,␈αeach␈α
component␈αcan
␈↓ d␈↓be a ␈↓βprogram␈↓, not just a constant.


␈↓"	␈↓ d␈↓α␈↓↓GENERALIZATIONS␈↓α      What BEINGs are more general than you are?     ␈↓↓WRITE-PROGRAM
␈↓"	␈↓ d␈↓↓                                        and SERVE-THE-USER␈↓α.           (WRITE-PROGRAM SERVE-THE-USER)
␈↓"	␈↓ d␈↓α␈↓↓ALTERNATIVES␈↓α         In case you fail, who else might I try?        ␈↓↓Try USE-INFORMATION,
␈↓"	␈↓ d␈↓↓                                        FIX-INCORRECT-PIECE, OPTIMIZE, or FILL-IN-UNDEFINED-SECTION)␈↓α
␈↓"/␈↓ d␈↓If this BEING fails, try the alterntives; if they fail, consider trying the more general BEINGs.
␈↓"/␈↓ d␈↓To␈α∂illustrate␈α∂a␈α∂few␈α⊂of␈α∂the␈α∂other␈α∂BEING␈α⊂organs,␈α∂consider␈α∂PARTITION-A-DOMAIN,␈α∂a␈α⊂high-level,␈α∂domain-
␈↓ d␈↓specific␈α
BEING.␈α
 Its␈α
basic␈α
idea␈α
is␈α
to␈α
divide␈α
up␈α
a␈α
space␈α
into␈α
 categories.␈α
 Only␈α
 two␈α
BEING␈α
  organs␈α  are␈α
  filled
␈↓ d␈↓in␈α∩  here␈α∪  which␈α∩  were␈α∩ absent␈α∪ from␈α∩OBTAIN-USABLE-INFORMATION:␈α∪ SPECIALIZATIONS␈α∩ and
␈↓ d␈↓DEMONS.
␈↓"/␈↓ d␈↓The␈α
SPECIALIZATIONS␈α
organ␈α
says␈α
that␈αto␈α
write␈α
a␈α
specific␈α
version␈α
of␈αitself,␈α
a␈α
few␈α
decisions␈α
must␈α
be␈αmade.
␈↓ d␈↓The␈αresults␈α will␈α then␈α indicate␈α what␈αpieces␈α of␈α code␈α get␈α assembled␈αtogether␈αto␈αform␈αthe␈αnew␈αBEING.␈α The
␈↓ d␈↓partition␈α
may␈αbe␈α
only␈αpartial␈α
(an␈α
element␈αof␈α
the␈αdomain␈α
belongs␈αto␈α
no␈α
class␈α of␈α
 the␈αpartition),␈α
only␈α
weak␈α(an
␈↓ d␈↓element␈α∂belongs␈α∂to␈α∂more␈α⊂than␈α∂one␈α∂class),␈α∂and,␈α∂most␈α⊂importantly,␈α∂the␈α∂specialized␈α∂partitioning␈α⊂BEING␈α∂should
␈↓ d␈↓work␈α
by␈α
 repeatedly␈αdoing␈α
some␈α
of␈αthe␈α
following␈α
three␈α
activities:␈αaccept␈α
a␈α
class-name␈αfrom␈α
the␈α
user␈α
and␈αguess
␈↓ d␈↓some␈α
of␈α
its␈α
elements,␈α
accept␈α
an␈α
element␈α
from␈α
the␈α
user␈αand␈α
try␈α
to␈α
guess␈α
which␈α
class␈α
it␈α
belongs␈α
to,␈α
or␈α
accept␈αan
␈↓ d␈↓<element, class-name> pair. Other BEINGs know about these accepting, guessing, and checking activities.
␈↓"/␈↓ d␈↓The␈α DEMONS␈α organ␈αsays␈αthat␈αduring␈αthe␈αpartitioning,␈αthe␈αonly␈αnew␈αdemon␈αto␈αkeep␈αactive␈αis␈αthe␈αone␈α called
␈↓ d␈↓Fringe-of-Consciousness.␈α∞ This␈α
deserves␈α∞elaboration.␈α
In␈α∞ the␈α
 course␈α∞ of␈α
writing␈α∞ GI,␈α
 the␈α∞ system␈α∞ learns␈α
 that
␈↓ d␈↓the␈α
 main␈α task␈α
 is␈α one␈α
 of␈αgrammatical␈α
inference.␈α The␈α
GRAMMAR␈αBEING␈α
then␈α asserts␈α
that␈α if␈α
 the␈α user
␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ =page  7␈↓
␈↓ d␈↓ever␈α
mentions␈α∞the␈α
word␈α∞␈↓βtest␈↓,␈α
he␈α
may␈α∞actually␈α
mean␈α∞␈↓βparse␈↓.␈α
  This␈α∞is␈α
placed␈α
in␈α∞the␈α
IDEN␈α∞organ␈α
of␈α∞the␈α
TEST
␈↓ d␈↓BEING,␈α and␈α is␈αtherefore␈α  only␈α demonized,␈α waiting␈α on␈α the␈α periphery␈α of␈α PUP6's␈αconcentration.␈α  It␈αis␈αin
␈↓ d␈↓fact triggered later in the dialogue, as an inference surprising to the user.
␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α∞␈↓∧␈↓&6. Control in the system␈↓)αβ␈↓
␈↓"/␈↓ d␈↓The␈α∞BEINGs␈α∞control␈α∞themselves␈α∞in␈α∞a␈α∞simple␈α∞way.␈α∞A␈α∞very␈α∞general␈α∞BEING,␈α∞SERVE-THE-USER,␈α∂has␈α∞control
␈↓ d␈↓initially.␈α⊃In␈α⊂general,␈α⊃some␈α⊂ BEING␈α⊃␈↓βB␈↓␈α⊂ will␈α⊃ be␈α⊂ in␈α⊃ control.␈α⊂  Its␈α⊃ organs␈α⊂are␈α⊃assembled␈α⊂into␈α⊃an␈α⊂executable
␈↓ d␈↓function,␈αand␈αit␈αis␈αrun.␈α
 During␈αthe␈αcourse␈αof␈αits␈α
 reign,␈α␈↓βB␈↓␈α will␈α want␈αthings␈α
done␈αand/or␈αtested␈αwhich␈αit␈α
cannot
␈↓ d␈↓manage␈α
by␈αitself.␈α
 This␈αcorresponds␈α
to␈α
when␈αa␈α
normal␈αprogram␈α
needs␈α to␈α
 call␈α
 a␈αsubroutine.␈α
 What␈α␈↓βB␈↓␈α
does␈αis␈α
to
␈↓ d␈↓provide␈α⊂SATISFY,␈α⊂the␈α⊂goal␈α⊂mechanism,␈α⊂with␈α⊂a␈α⊃description␈α⊂of␈α⊂what␈α⊂is␈α⊂wanted.␈α⊂ SATISFY␈α⊂asks␈α⊃ the␈α⊂entire
␈↓ d␈↓BEING␈α pool␈α "who␈αcan␈αdo␈αthis␈αthing?",␈αand␈αcollects␈αa␈αlist␈αof␈αthe␈αresponders.␈α CHOOSE-FROM␈αis␈αthen␈αcalled,
␈↓ d␈↓and␈αasks␈αeach␈αresponder␈αwhy␈αhe␈αshould␈αbe␈αallowed␈αto␈αgo␈αnow␈α(the␈αWHEN␈αorgan␈αanswers␈αthis)␈αand␈αhow␈αcostly
␈↓ d␈↓he␈α
will␈α
be␈αif␈α
he␈α
does␈αgo␈α
(the␈α
COMPLEXITY␈αorgan).␈α
The␈α
responders␈αare␈α
then␈α
passed␈αcontrol,␈α
in␈α
order,␈αuntil
␈↓ d␈↓one␈α∞succeeds␈α∂or␈α∞all␈α∂have␈α∞failed.␈α∞ In␈α∂addition␈α∞to␈α∂these␈α∞goal␈α∞ statements,␈α∂ there␈α∞ exists␈α∂ a␈α∞"world"␈α∂consisting␈α∞of
␈↓ d␈↓assertions␈α
and␈α
variables␈α
with␈α
values.␈α
These␈α
are␈α
regarded␈α
as␈α
trivial␈α
cases␈α
of␈α
BEINGs,␈α
possessing␈α
only␈α one␈α
organ.
␈↓ d␈↓So␈α∞␈↓βB␈↓␈α
 may␈α∞also␈α
query␈α∞this␈α
data␈α∞base␈α
by␈α∞saying␈α∞"what␈α
assertions␈α∞match␈α
this␈α∞one...",␈α
or␈α∞by␈α
asking␈α∞"what␈α∞is␈α
the
␈↓ d␈↓value␈α
of...".␈α
 These␈α
 actions␈α
can␈α
be␈α
programmed␈α
in␈α
a␈α
much␈α
more␈α
efficient␈α
manner␈α
than␈α
as␈α
BEINGs.␈α
 They␈α
never
␈↓ d␈↓employ␈αnondeterministic␈αtransfers,␈αhence␈αare␈αfaster␈αby␈αan␈αamount␈αproportional␈αto␈αthe␈αtotal␈αnumber␈αof␈αBEINGs
␈↓ d␈↓in the system.
␈↓"/␈↓ d␈↓The␈αway␈αa␈αBEING's␈αorgans␈αfit␈α
together␈αis␈αuniform␈αover␈αall␈αthe␈α
BEINGs␈αat␈αall␈αtimes.␈αThus␈αone␈αsimple␈α
function
␈↓ d␈↓(an␈α∂ assembled␈α∂BEING)␈α∞assembles␈α∂all␈α∂the␈α∂BEINGs␈α∞initially␈α∂into␈α∂LISP␈α∞functions.␈α∂ The␈α∂precise␈α∂algorithm␈α∞for
␈↓ d␈↓doing␈α
this␈α
is␈α
now␈α
discussed.␈α
 First,␈α
the␈α
explicit␈α
arguments␈α
(those␈α
global␈α
to␈α
the␈α
BEING)␈α
 are␈α
 bound.␈α
The␈α
implicit
␈↓ d␈↓arguments␈α
(those␈αlocal␈α
to␈αthe␈α
BEING,␈αlike␈α
PROG␈αvariables)␈α
are␈αinitialized.␈α
The␈αname␈α
of␈αthe␈α
BEING␈αis␈α
pushed
␈↓ d␈↓onto␈α⊂ the␈α∂ BEING␈α⊂ control␈α∂ stack,␈α⊂and␈α⊂any␈α∂newly-activated␈α⊂ demons␈α∂ are␈α⊂ pushed␈α∂ onto␈α⊂ the␈α⊂ demon␈α∂ stack.
␈↓ d␈↓The␈αARGS-CHECK␈α predicates␈α
 are␈α evaluated.␈α Then␈α
PUP6␈αworks␈αto␈α
make␈αeach␈αPRE-REQUISITE␈α
true␈αin
␈↓ d␈↓the␈α∀world.␈α∀ Each␈α∀COMMENT␈α∀is␈α∪evaluated,␈α∀then␈α∀the␈α∀CO-REQUISITES,␈α∀ META-CODE,␈α∀ and␈α∪ current
␈↓ d␈↓demons␈α
 all␈α
are␈α
executed␈α
in␈α
pseudo-parallel.␈α
 Each␈α
POST-REQUISITE␈α
is␈α
then␈α
satisfied.␈α
 These␈α
activities␈αare
␈↓ d␈↓all␈α
embedded␈α
in␈α∞an␈α
AND,␈α
so␈α∞any␈α
of␈α
them␈α∞can␈α
cause␈α
the␈α
entire␈α∞BEING␈α
to␈α
halt␈α∞and␈α
fail,␈α
simply␈α∞by␈α
returning
␈↓ d␈↓NIL.␈α∞ Just␈α
 before␈α∞ exiting,␈α
 the␈α∞ demon␈α
and␈α∞BEING␈α
stacks␈α∞are␈α
 popped,␈α∞and␈α
control␈α∞passes␈α
to␈α∞the␈α
delegated
␈↓ d␈↓BEING.  A fancy context mechanism was available but not actually needed.
␈↓"/␈↓ d␈↓The␈α∞function␈α∞which␈α∞assembled␈α
all␈α∞the␈α∞BEINGs␈α∞exploited␈α
the␈α∞fact␈α∞that␈α∞it␈α
operated␈α∞only␈α∞at␈α∞ system␈α∞load␈α
time.
␈↓ d␈↓Thus␈αif␈αthe␈αBEING␈αhad␈αno␈αnew␈αDEMONs␈αto␈αactivate,␈αall␈αthe␈αcorresponding␈αdemon-stack␈αmanipulations␈αcould
␈↓ d␈↓be␈α
omitted.␈αSimilarly,␈α
no␈α
CO-REQUISITES␈αmeans␈α
no␈αparallel␈α
processing␈α
need␈αbe␈α
simulated.␈αOptimizations␈α
like
␈↓ d␈↓these␈α∀are␈α∀clear␈α∪from␈α∀comparing␈α∀the␈α∀organs␈α∪of␈α∀OBTAIN-USABLE-INFORMATION,␈α∀the␈α∀algorithm␈α∪just
␈↓ d␈↓described, and the actual functional version produced:




␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ =page  8␈↓

␈↓"	␈↓ d␈↓α(OBTAIN-USABLE-INFORMATION
␈↓"	␈↓ d␈↓α  (LAMBDA (U)
␈↓"	␈↓ d␈↓α     (AND
␈↓"	␈↓ d␈↓α         (PUSH     OBTAIN-USABLE-INFORMATION      BEING-STACK)
␈↓"	␈↓ d␈↓α         (PUT OBTAIN-USABLE-INFORMATION SPEC-WHY BECAUSE)
␈↓"	␈↓ d␈↓α         (EVERY    CURRENT-DEMONS     APPLY*)
␈↓"	␈↓ d␈↓α         (SETQQ    BECAUSE    (WE CAN ONLY TRY TO OBTAIN USABLE INFORMATION IN ONE WAY AT A TIME))
␈↓"	␈↓ d␈↓α         (CHOOSE-FROM
␈↓"	␈↓ d␈↓α                 (GET-NEW-INFORMATION U)
␈↓"	␈↓ d␈↓α                 (TRANSLATE U)
␈↓"	␈↓ d␈↓α                 (ANALYZE-IMPLICATIONS U)
␈↓"	␈↓ d␈↓α                 (EXTRACT-RELEVANT-SUBSET U)))
␈↓"	␈↓ d␈↓α      (POP     BEING-STACK)))
␈↓"/␈↓ d␈↓Each␈α
BEING␈α∞has␈α
the␈α∞responsibility␈α
to␈α∞set␈α
the␈α∞value␈α
of␈α∞the␈α
variable␈α∞BECAUSE␈α
just␈α∞prior␈α
to␈α∞calling␈α
another
␈↓ d␈↓BEING.␈α⊂When␈α⊂a␈α∂BEING␈α⊂takes␈α⊂control,␈α∂it␈α⊂immediately␈α⊂stores␈α∂the␈α⊂current␈α⊂value␈α∂of␈α⊂BECAUSE␈α⊂as␈α⊂a␈α∂special
␈↓ d␈↓addition␈αto␈αits␈αWHY␈αorgan.␈αThus␈αeach␈αBEING␈αcan␈αprovide␈αtwo␈αreasons:␈αone␈αsupplied␈αin␈αgeneral,␈αand␈αone␈αset
␈↓ d␈↓by␈αthe␈αparticular␈αBEING␈αwhich␈αcalls␈α
it.␈αAbove,␈αOBTAIN-USABLE-INFORMATION␈αsets␈αa␈αreason␈αfor␈α
calling
␈↓ d␈↓CHOOSE-FROM.␈α⊂ Notice␈α⊂that␈α⊂many␈α⊂organs␈α⊂can␈α⊂answer␈α⊂queries,␈α⊂but␈α⊂play␈α⊂no␈α⊂role␈α⊂once␈α⊂the␈α⊂BEING␈α∂gains
␈↓ d␈↓control.
␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α∂␈↓∧␈↓&7. Theoretical aspects of PUP6␈↓)αβ␈↓
␈↓"/␈↓ d␈↓For␈αaesthetic␈α
reasons,␈αan␈α
effort␈αwas␈αmade␈α
to␈αkeep␈α
the␈αlanguages␈α
for␈αPUP6␈αand␈α
CF␈αthe␈α
same.␈αThis␈αmeant␈α
PUP6
␈↓ d␈↓must␈αwrite␈αCF␈αas␈α
a␈αfamily␈αof␈αBEINGs.␈α
 Consequently␈α␈↓βsome␈↓␈αBEING(s)␈αmust␈α
write␈αnew␈αBEINGs.␈αThe␈α
significant
␈↓ d␈↓design␈α⊂issue␈α⊃here␈α⊂is␈α⊂that␈α⊃the␈α⊂BEING␈α⊃ who␈α⊂ knows␈α⊂ about␈α⊃␈↓βX␈↓␈α⊂ takes␈α⊂ charge␈α⊃ of␈α⊂ generating␈α⊃ new␈α⊂BEINGs
␈↓ d␈↓relating␈α
to␈α
␈↓βX␈↓.␈α
 For␈α
example,␈α the␈α
 INSERT␈α
 BEING␈α
 can␈α
 do␈α
 inserting␈α by␈α
 one␈α
 of␈α
 a␈α
 few␈α
algorithms,␈α and
␈↓ d␈↓he␈α
 can␈α
 also␈α
 write␈α
(by␈α
specializing␈α
himself)␈α∞more␈α
specific␈α
 insert␈α
 routines,␈α
 and␈α
 he␈α
 can␈α∞ answer␈α
  questions
␈↓ d␈↓about inserting.
␈↓"/␈↓ d␈↓This␈α∂idea␈α∞is␈α∂analogous␈α∞to␈α∂any␈α∞reliance␈α∂upon␈α∞experts.␈α∂The␈α∞SPECIALIZATIONS␈α∂and␈α∂ENCODABLE␈α∞organs
␈↓ d␈↓handle␈α
this␈α
chore.␈α
 An␈α
unusual␈α
consequence␈α
is␈α
that␈α∞the␈α
synthesized␈α
code␈α
 will␈α
 have␈α
 all␈α
the␈α
␈↓βtypes␈↓␈α∞of␈α
abilities
␈↓ d␈↓that␈α⊃any␈α⊃BEING␈α⊂community␈α⊃has:␈α⊃     it␈α⊃can␈α⊂modify␈α⊃itself␈α⊃according␈α⊃to␈α⊂the␈α⊃user's␈α⊃complaints␈α⊃ and␈α⊂ answer
␈↓ d␈↓questions␈α⊂about␈α⊃what␈α⊂it␈α⊂is␈α⊃doing␈α⊂as␈α⊂it␈α⊃runs.␈α⊂ The␈α⊂CF␈α⊃program␈α⊂generated␈α⊂cannot,␈α⊃of␈α⊂course,␈α⊂write␈α⊃the␈α⊂full
␈↓ d␈↓complement  of programs PUP6 could write.
␈↓"/␈↓ d␈↓In␈αa␈αsimilar␈αvein,␈αrecall␈αthat␈α␈↓βeach␈↓␈αBEING␈αmust␈αdo␈αthe␈α translation␈αof␈α the␈α users'␈αrelevant␈αquasi-English␈αinputs
␈↓ d␈↓into␈α∂BEING-usable␈α⊂form.␈α∂For␈α⊂example,␈α∂our␈α⊂ INSERT␈α∂ BEING␈α⊂ must␈α∂ also␈α⊂ recognize␈α∂ and␈α⊂process␈α∂phrases
␈↓ d␈↓involving inserting, stack-pushing, and merging.
␈↓"/␈↓ d␈↓PUP6␈α⊂does␈α⊂not␈α∂operate␈α⊂within␈α⊂the␈α∂exploratory␈α⊂anthropomorphic␈α⊂paradigm␈α∂of␈α⊂programming␈α⊂(ignore␈α∂details,
␈↓ d␈↓catch␈α them␈αlater␈αby␈αdebugging).␈α As␈αin␈αall␈αprogramming,␈αdecisions␈αcontinually␈αcrop␈αup␈αwhich␈αthe␈αsystem␈αis␈αnot
␈↓ d␈↓able␈α∞to␈α
resolve␈α∞ at␈α
 the␈α∞ time.␈α
PUP6␈α∞always␈α
tries␈α∞to␈α∞defer␈α
the␈α∞decision␈α
as␈α∞long␈α
as␈α∞possible.␈α
 When,␈α∞at␈α∞last,␈α
no
␈↓ d␈↓progress␈α
can␈α
be␈αmade␈α
without␈α
its␈αresolution,␈α
 and␈α
 if␈αthe␈α
system␈α
is␈αstill␈α
unsure,␈α
then␈αeither␈α
the␈α
user␈α
settles␈αthe


␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ =page  9␈↓
␈↓ d␈↓question␈αor␈αelse␈αa␈αbacktrack␈αpoint␈αis␈αreluctantly␈α
set␈αup.␈α But␈α often,␈α by␈α this␈α time,␈α some␈α new␈α
 information␈αis
␈↓ d␈↓present␈αwhich␈α
enables␈αthe␈αsystem␈α
to␈αresolve␈αthe␈α
decision,␈αthus␈α
reducing␈αthe␈α amount␈α
of␈α backtracking.␈α  If␈α
 there
␈↓ d␈↓are two or more decisions which can no longer be deferred, the system tackles the easiest one first.
␈↓"/␈↓ d␈↓It␈α
was␈α
hoped␈α
that␈αmost␈α
of␈α
the␈α
 carelessness␈αbugs␈α
could␈α
be␈α
eliminated␈αthrough␈α
this␈α
deferral,␈α
feed-forward,␈αand
␈↓ d␈↓very␈αprecise␈α record-keeping.␈α Humans␈α depend␈α on␈α their␈α adaptability␈α to␈αcompensate␈α for␈αlimitations␈α
in␈αtheir
␈↓ d␈↓brain␈αhardware␈α
[8]␈αbut␈α
there␈αis␈α
no␈αneed␈α
for␈αan␈α
␈↓βautomatic␈↓␈αprogramming␈α
system␈αto␈α
do␈αso.␈α
 For␈α example,␈αwhen␈α
 a
␈↓ d␈↓list␈α structure␈α is␈α first␈α encountered,␈α the␈αsystem␈αrecords␈αwarnings␈αthat␈αit␈αis␈αundefined,␈αno␈αaccesses,␈αinsertions,␈α
or
␈↓ d␈↓deletions␈αhave␈α
 been␈α observed,␈α
 and␈α so␈α
 on.␈α Each␈αsuch␈α
worry␈αis␈α
weighted,␈αand␈α
periodically␈αthe␈αsystem␈α
resolves
␈↓ d␈↓such  warning  notes  --  especially near the completion of the target program.
␈↓"/␈↓ d␈↓The␈α
 new␈α BEINGs␈α
 created␈α
during␈α the␈α
 execution␈α
of␈αa␈α
specified␈α
task␈αare␈α
kept␈α
distinct␈αfrom␈α
the␈α
original␈αset␈α
 of
␈↓ d␈↓BEINGs.␈α
A␈α
␈↓βprogram␈↓␈α for␈α
 task␈α
 ␈↓βT␈↓␈α is␈α
accomplished␈α
 by␈αdoing␈α
␈↓βT␈↓␈α
and␈αthen␈α
dumping␈α
the␈αnew␈α
BEINGs␈α
out␈αonto␈α
a
␈↓ d␈↓new␈αfile.␈α
 The␈αentire␈α
old␈α BEINGs␈α
 pool␈α is␈α then␈α
 treated␈α as␈α
 the␈αlanguage␈α
 supporting␈αthis␈α
file.␈αAs␈αa␈α
corollary,
␈↓ d␈↓asking a BEINGs-based system to write any subset of itself is the null task.
␈↓"/␈↓ d␈↓Most␈α
 programmers␈α
 intentionally␈α
augment␈α
their␈α
code␈α
to␈α
aid␈α
in␈α
later␈α
debugging,␈α
modification,␈α∞and␈α
readability
␈↓ d␈↓by␈α⊂humans.␈α⊂ These␈α⊂aids␈α⊂are␈α∂ typically␈α⊂ comments,␈α⊂ summaries,␈α⊂ over-generalized␈α⊂ subroutines,␈α⊂optional␈α∂print
␈↓ d␈↓statements,␈α and␈α runtime␈α
 statistics.␈α Recently,␈αthe␈α
structure␈α of␈α the␈α
 program␈α itself␈αhas␈α
also␈αbeen␈αrecognized␈α
as
␈↓ d␈↓a␈α
powerful␈α
manipulable␈α
element,␈αaffecting␈α
the␈α
accessability␈α
of␈αthe␈α
code,␈α
not␈α
just␈αits␈α
length␈α
or␈α
running␈αtime.␈α
 The
␈↓ d␈↓length␈α
of␈αany␈α
program␈αwritten␈α
as␈αa␈α
pool␈α of␈α
BEINGs␈α is␈α
several␈αtimes␈α
as␈αlong␈α
as␈αa␈α
clean␈α
hand-coded␈αversion.
␈↓ d␈↓This␈α∂extra␈α∂code,␈α∂the␈α∂organs␈α∂of␈α∂each␈α∂new␈α∂BEING␈α∂which␈α∂are␈α∂superfluous,␈α∂may␈α∂be␈α∂viewed␈α∂as␈α∂organized␈α∂self-
␈↓ d␈↓documentation.␈α They␈αshould␈αin␈α
theory␈αimprove␈αthe␈αdebugging,␈α
expansion,␈αand␈α accessibility␈α (to␈α
 alien␈α users)
␈↓ d␈↓of  the synthesized code.
␈↓"/␈↓ d␈↓Some␈α
assertions␈α
are␈α
so␈α
meaningful␈α
 to␈α
 the␈α
 user,␈α
that␈α
they␈α
are␈α
stored␈α
in␈α
the␈α
code␈α
itself,␈α
even␈α
if␈α
they␈α
are␈αonly
␈↓ d␈↓temporary.␈α
 At␈α∞any␈α
time,␈α
the␈α∞user␈α
may␈α
look␈α∞at␈α
a␈α∞piece␈α
of␈α
code;␈α∞the␈α
comments␈α
present␈α∞ ␈↓βthen␈↓␈α
are␈α∞ all␈α
assertions
␈↓ d␈↓pertaining␈αto␈αthat␈αpiece␈αof␈αcode␈αat␈αthat␈αtime.␈α
 BEINGS␈αmay␈αuse␈αcomments␈αat␈α several␈α different␈α levels.␈α At␈α
 the
␈↓ d␈↓lowest␈α⊃ level,␈α⊃ each␈α⊃ comment␈α⊃ is␈α⊃ merely␈α⊃ a␈α⊃ unique␈α⊂token;␈α⊃it␈α⊃may␈α⊃be␈α⊃inserted,␈α⊃removed,␈α⊃or␈α⊃searched␈α⊂ for.
␈↓ d␈↓Slightly␈α better,␈α the␈α BEINGs␈α
system␈αcan␈αask␈α"is␈α
there␈αa␈αcomment␈αinvolving␈α
...".␈αFor␈αthis␈αpurpose,␈αa␈α
constrained
␈↓ d␈↓syntax␈αfor␈αthe␈αcomments␈αshould␈αbe␈αdeveloped.␈αOtherwise␈α(as,␈αunfortunately␈αin␈αPUP6)␈αeach␈αnew␈αcomment␈αmust
␈↓ d␈↓be attended to ad hoc.
␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈απ␈↓∧␈↓&8. Ideal and real systems␈↓)αβ␈↓
␈↓"/␈↓ d␈↓When␈αimagining␈αan␈αideal␈αAP␈α (automatic␈α programming)␈α system,␈α
one␈α ability␈α we␈α might␈α wish␈α for␈α is␈α that␈α
 it
␈↓ d␈↓be␈α able␈αto␈α
input␈αa␈αwell-documented␈αprogram,␈α
glean␈αpure␈αprogramming␈αknowledge␈α
from␈αit,␈αand␈α transform␈α
 this
␈↓ d␈↓into␈α
 a␈α
 format␈α
 it␈α
 can␈α
use.␈α
 Also,␈α
to␈α
improve␈αitself,␈α
it␈α
should␈α
be␈α
capable␈α
of␈α
digesting␈α
a␈α
sample,␈α
valid␈αAP␈α
 dialog,
␈↓ d␈↓and␈α⊃(perhaps␈α⊃through␈α⊃additional␈α⊃user␈α⊃interaction)␈α⊃modify␈α⊃itself␈α⊃so␈α⊃it␈α⊃could␈α⊃actually␈α⊃carry␈α⊃on␈α∩that␈α⊃ dialog.
␈↓ d␈↓Another␈αideal␈αto␈αhope␈αfor␈α
is␈αthat␈αthe␈αuser␈αbe␈α
permitted␈αto␈αdo␈αwhatever␈αhe␈α
can␈αwhenever␈αhe␈αcan;␈αif␈αhe␈α
suddenly


␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ .page  10␈↓
␈↓ d␈↓thinks␈αof␈αa␈αstray␈αcaution,␈αthe␈αAP␈αsystem␈αshould␈αaccept␈α
it␈α(e.g.,␈α"Oh,␈αI␈αmight␈αwant␈αto␈αtype␈αin␈αHALT␈α
instead␈αof
␈↓ d␈↓STOP,␈α∂sometimes").␈α∞ BEINGs␈α∂were␈α∞not␈α∂designed␈α∞with␈α∂these␈α∂goals␈α∞in␈α∂mind,␈α∞and␈α∂as␈α∞a␈α∂result␈α∞they␈α∂may␈α∂be␈α∞an
␈↓ d␈↓insufficient␈α
framework␈α
for␈α
achieving␈α
them.␈α
 By␈α
studying␈αthe␈α
difficulties␈α
of␈α
PUP6,␈α
isolating␈α
those␈α
due␈α
to␈αpoor
␈↓ d␈↓programming␈α
from␈α
those␈α∞due␈α
to␈α
poor␈α∞ideas,␈α
enough␈α
may␈α
be␈α∞learned␈α
to␈α
build␈α∞the␈α
next␈α
system␈α∞one␈α
qualitative
␈↓ d␈↓step␈α∩closer␈α∩to␈α∩this␈α∩ideal.␈α∪ It␈α∩is␈α∩in␈α∩this␈α∩spirit␈α∩that␈α∪BEINGs␈α∩are␈α∩now␈α∩contrasted␈α∩against␈α∩ the␈α∪ concepts␈α∩ of
␈↓ d␈↓ACTORs, CLASSes, FRAMES, HACKER, formal AP systems, and macro expansion schemes.
␈↓"/␈↓ d␈↓ACTORS␈α[5]␈α provided␈α the␈α key␈α concept␈α of␈α integrating␈αuniformity␈α of␈α construction␈α with␈α sophistication␈αof
␈↓ d␈↓behavior.␈α
 Each␈αACTOR␈α
module␈αhas␈α
its␈αown,␈α
unique␈αorgans,␈α
hence␈αmust␈α
be␈α(implicitly)␈α
aware␈αof␈α
all␈αthe␈α
organs
␈↓ d␈↓(message␈α∞formats)␈α∞of␈α∂all␈α∞the␈α∞ ACTORs␈α∂it␈α∞ever␈α∞is␈α∂going␈α∞to␈α∞shake␈α∂hands␈α∞with.␈α∞Adding␈α∂a␈α∞new␈α∞module␈α∂is␈α∞thus
␈↓ d␈↓conceptually␈αintricate␈α
as␈αwell␈α
as␈αpractically␈α
difficult.␈αCLASSes␈αhave␈α
a␈αfew␈α
standard␈αorgans,␈α
and␈αthe␈αmodules␈α
are
␈↓ d␈↓arranged␈α
in␈α
groups,␈α
each␈α
of␈α
which␈α
has␈α
its␈α
own␈αadditional␈α
types␈α
of␈α
organs.␈α
Thus␈α
a␈α
module␈α
can␈α
ask␈α
␈↓βany␈↓␈αother
␈↓ d␈↓module␈αone␈αof␈αa␈αfew␈α
universal␈αquestions,␈αand␈αit␈αcan␈α
ask␈αany␈αmodule␈αin␈αits␈α
group␈αan␈αadditional␈αset␈αof␈α
questions.
␈↓ d␈↓If␈α∞it␈α∞is␈α∂permitted␈α∞to␈α∞know␈α∂about␈α∞other␈α∞groups'␈α∂special␈α∞organs,␈α∞then␈α∂the␈α∞same␈α∞adding␈α∂problem␈α∞recurs.␈α∞If␈α∂it␈α∞is
␈↓ d␈↓denied␈αsuch␈α
knowledge,␈αit␈α
cannot␈αaccess␈α
much␈αof␈α
the␈αknowledge␈αin␈α
the␈αpool.␈α
 Yet␈αif␈α
one␈αrequires␈α
a␈αcompletely
␈↓ d␈↓universal␈α
set␈α
of␈α
message␈αtypes,␈α
then␈α
most␈α
of␈α
them␈αwill␈α
be␈α
irrelevant␈α
to␈α
most␈αmodules.␈α
This␈α
is␈α
the␈α
price␈αwhich
␈↓ d␈↓BEINGs pay.  This superfluity is real and almost intolerable.
␈↓"/␈↓ d␈↓FRAMES␈α[6]␈αseems␈αsuperficially␈αsimilar␈α to␈α BEINGs,␈α and␈αare␈αso␈αamorphous␈αthat␈αthey␈αactually␈αcould␈α
subsume
␈↓ d␈↓BEINGs.␈α∞There␈α
is␈α∞a␈α∞deep␈α
difference␈α∞of␈α∞philosophy␈α
and␈α∞of␈α∞intended␈α
usage,␈α∞however.␈α∞ FRAMES␈α
intentionally
␈↓ d␈↓have␈αdefault␈αvalues␈α
already␈α(with␈αno␈α
processing)␈αfilled␈αin␈α
 for␈αeach␈αframe,␈α
and␈αreplaced␈αonly␈α
when␈α necessary.
␈↓ d␈↓This␈α⊗ is␈α⊗ akin␈α⊗ to␈α⊗ automatic␈α⊗ programming␈α↔by␈α⊗blind␈α⊗debugging,␈α⊗but␈α⊗is␈α⊗antithetical␈α⊗to␈α↔the␈α⊗fastidious
␈↓ d␈↓bookkeeping␈α∂BEINGs␈α∂philosophy.␈α∞ As␈α∂ an␈α∂example,␈α∞  consider␈α∂  the␈α∂  writing␈α∞  of␈α∂ a␈α∂ short,␈α∂ recursive␈α∞LISP
␈↓ d␈↓program␈α
(reverse,␈α
flatten,␈α
factorial,␈α
 etc.)␈αA␈α
human,␈α
consulting␈α
the␈α
proper␈α
frame␈αin␈α
his␈α
head,␈α
knows␈α
to␈αignore␈α
the
␈↓ d␈↓base␈αstep␈αfor␈αa␈αwhile,␈αthen␈αfill␈αit␈αin,␈αusually␈α as␈α ␈↓βif␈α NIL,␈α then␈αNIL␈↓.␈α The␈αhuman␈αmakes␈αthis␈αdefault␈αsynthesis,
␈↓ d␈↓tries␈αout␈αthe␈αprogram,␈αand␈α looks␈αcloser␈α (to␈αfill␈αin␈αthis␈α"slot"␈αproperly)␈αonly␈αif␈αsomething␈αcalls␈αhis␈αattention␈αto␈αit
␈↓ d␈↓(such␈αas␈αa␈αLISP␈αerror␈αmessage:␈αNON-NUMERIC␈αARG␈α ␈↓βNIL␈↓,␈αe.g.,␈αif␈αwhat␈αwas␈αreally␈αneeded␈αwas␈αthe␈αbase␈αstep
␈↓ d␈↓␈↓βif␈αNIL,␈αthen␈α0␈↓).␈α
 A␈αBEINGs␈αsystem␈αwould␈α
also␈α defer␈αworking␈αon␈α
the␈αbase␈αstep,␈αbut␈α
could␈α--␈αand␈αwould␈α--␈α
place
␈↓ d␈↓a␈α
note␈α∞about␈α
that␈α∞deferral␈α
into␈α∞the␈α
assertional␈α
warning␈α∞base.␈α
 Before␈α∞thinking␈α
 it␈α∞ was␈α
 finished,␈α∞ the␈α
 system
␈↓ d␈↓would␈α⊂ attend␈α⊂to␈α⊂that␈α⊂note␈α⊂carefully.␈α⊂This␈α⊂is␈α⊂not␈α⊂a␈α⊂criticism:␈α⊂  FRAMES␈α⊂are␈α⊂ meant␈α⊂ to␈α⊂model␈α⊂ perception,
␈↓ d␈↓BEINGS are not.
␈↓"/␈↓ d␈↓The␈αcontrast␈αwith␈α
HACKER␈αis␈αsimilar␈α
to␈αthat␈αof␈αFRAMES.␈α
 The␈αorientation␈αof␈α
HACKER␈αis␈αto␈α
put␈αtogether
␈↓ d␈↓pieces␈αof␈αprograms␈αinto␈αsomething␈αclose␈αto␈αthe␈αfinal␈αdesired␈αtarget,␈αthen␈α try␈α and␈α run␈αit.␈α When␈α errors␈αresult,
␈↓ d␈↓they␈α⊂are␈α⊂analyzed␈α⊂and␈α⊂then␈α⊂patched.␈α⊂ PUP6␈α⊂is␈α⊂oriented␈α⊂toward␈α⊂writing␈α⊂bug-free␈α⊂code;␈α⊂what␈α⊂it␈α⊂writes␈α∂must
␈↓ d␈↓always␈α∂coincide␈α∂ with␈α∂its␈α∂internal␈α∂specifications␈α∂of␈α∂that␈α∂code.␈α∂The␈α∂user␈α∂may␈α∂later␈α∂change␈α∂his␈α∂mind,␈α∂and␈α∂the
␈↓ d␈↓system␈α∂should␈α∞be␈α∂(and␈α∂occasionally␈α∞is)␈α∂able␈α∂to␈α∞modify␈α∂its␈α∂own␈α∞ programs,␈α∂ but␈α∂ this␈α∞ process␈α∂ is␈α∂much␈α∞better
␈↓ d␈↓defined␈αthan␈αblind␈αdebugging.␈αOn␈αthe␈αother␈α hand,␈α if␈α PUP6␈αdoes␈α have␈α an␈αunexpected␈αbug␈αin␈αit,␈αit␈αmay␈αbe
␈↓ d␈↓fatal. One way to overcome this would be to include special recover-from-bugs BEINGs.


␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ .page  11␈↓
␈↓ d␈↓The␈α
 formal␈α
 manipulation␈α
 systems␈α
which␈α
also␈α
synthesize␈α
code␈α
are␈α
so␈α
different␈α
from␈α
BEINGs,␈α
that␈α
it␈α
is␈α
difficult
␈↓ d␈↓to␈α compare␈α them.␈α These␈α logical␈αsystems␈α(e.g.,␈αLuckham's)␈αattack␈αan␈αentirely␈αdifferent␈αproblem.␈α Their␈αtask␈αis
␈↓ d␈↓specified␈αrigorously␈α in␈α advance,␈α and␈α they␈αproceed␈α formally␈α to␈α search␈α for␈α a␈α solution␈α program.␈α PUP6␈αis
␈↓ d␈↓designed␈αto␈αwork␈αfrom␈αa␈αmuch␈αmore␈αambiguous␈αspecification,␈αheuristically.␈α Each␈α action␈αis␈α implicitly␈αjustified
␈↓ d␈↓by␈αthe␈αfact␈αthat␈αthe␈αuser␈αcan␈αlater␈αdescribe␈αto␈αthe␈αsystem␈αwhat␈αis␈αundesirable␈αabout␈αthe␈αprogram␈αit's␈αgenerated.
␈↓ d␈↓PUP6  should thus  be  tolerant of user ambiguity and error.
␈↓"/␈↓ d␈↓Like␈α∂ ␈↓βany␈↓␈α∂AP␈α∂system␈α∂which␈α∂writes␈α∂structured␈α∞programs,␈α∂the␈α∂external␈α∂behavior␈α∂ of␈α∂ PUP6␈α∂is␈α∂reminiscent␈α∞ of
␈↓ d␈↓macro␈α expansion␈αregardless␈αof␈α
␈↓βwhat␈↓␈αthe␈αinternal␈αBEING␈α
 interactions␈α are.␈α One␈α major␈α
 distinction␈α between
␈↓ d␈↓the␈α
 two␈αconcepts␈α
is␈αwhen␈α
and␈αhow␈α
the␈αmacros␈α
are␈αexpanded.␈α
Traditional␈αanswers␈α
are:␈α at␈α
 compile␈α
 time,␈α by
␈↓ d␈↓rigid␈α∞  substitutions.␈α∞ BEINGs␈α
 systems␈α∞expand␈α∞their␈α
"macros"␈α∞at␈α∞times␈α
they␈α∞choose,␈α∞using␈α∞knowledge␈α
gleaned
␈↓ d␈↓from␈α∂each␈α∂other␈α∂ and␈α∂ from␈α⊂the␈α∂ user.␈α∂For␈α∂example,␈α∂consider␈α∂a␈α⊂series␈α∂of␈α∂macro␈α∂calls␈α∂occurring␈α∂in␈α⊂the␈α∂code:
␈↓ d␈↓(m1)(m2)(m3).␈α∩A␈α∩macro␈α∩expander␈α⊃could␈α∩expand␈α∩these␈α∩in␈α⊃any␈α∩order,␈α∩and␈α∩the␈α⊃three␈α∩activities␈α∩could␈α∩go␈α⊃on
␈↓ d␈↓simultaneously,␈αwith␈αno␈αinterference␈αor␈αchange␈αin␈αthe␈αfinal␈αcode.␈αBEINGs␈αwould␈αtry␈αto␈αfind␈αsome␈αtask␈αcommon
␈↓ d␈↓to␈αall␈αthree␈αcalls,␈αand␈αwork␈αon␈αthat␈αfirst.␈αThe␈αorder␈αof␈αwhich␈αto␈αfirst␈αexpand␈αfully␈αwould␈αbe␈αcarefully␈αweighed,
␈↓ d␈↓and␈αduring␈α
that␈αexpansion␈αnew␈α
information␈αwould␈α
be␈αlearned␈αwhich␈α
could␈αaffect␈αthe␈α
expansions␈αof␈α
the␈αother
␈↓ d␈↓two␈α
function␈α
calls.␈α
The␈α
final␈α
code␈α
would␈α
not␈α
simply␈α
be␈α
the␈α
APPEND␈α
of␈α
the␈α
expansions␈α
of␈α
m1,␈α
m2,␈α
m3,␈α
as␈αit
␈↓ d␈↓would with a macro scheme.
␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α'␈↓∧␈↓&9. Questions for AP systems␈↓)αβ␈↓
␈↓"/␈↓ d␈↓The␈αsuccess␈αof␈αan␈αAI␈αeffort␈αcan␈αbe␈αassessed␈αonly␈αwhere␈αaccepted␈αstandards␈αof␈αintelligence␈αexist.␈α The␈α character
␈↓ d␈↓of␈α
the␈α
dialogue␈α
(described␈α
in␈α
the␈α
next␈α
section)␈α
is,␈αof␈α
course,␈α
one␈α
important␈α
measure␈α
of␈α
the␈α
 intelligence␈α
of␈α an
␈↓ d␈↓AP␈α(automatic␈αprogramming)␈αsystem.␈α  One␈αwhich␈αasked␈α"What␈αis␈αthe␈αfirst␈αinstruction?␈α What␈αis␈αthe␈αsecond...?"
␈↓ d␈↓would␈α
be␈α
universal␈α
but␈α
worse␈α
than␈α
useless.␈α This␈α
 section␈α
 proposes␈α
some␈α
  questions␈α
 one␈α
 should␈α
 ask␈α when
␈↓ d␈↓confronted␈α
by␈α
a␈α
new␈α
AP␈α
system␈α
which␈α
generates␈α
code␈α
heuristically␈α
from␈α
a␈α
dialogue.␈α
 Capsule␈αanswers␈α
pertaining
␈↓ d␈↓to PUP6 are parenthesized after each question; fuller answers are located elsewhere.
␈↓"/␈↓ d␈↓The␈αquestions␈α
break␈αinto␈α
two␈αcategories.␈α
First,␈αone␈α
wants␈α to␈α
know␈α what␈α
the␈αsystem␈α
does.␈α Most␈αimportant,␈α
does
␈↓ d␈↓it␈αsynthesize␈αa␈αprogram?␈α (yes.)␈αIf␈α so,␈α how␈α complex␈α is␈α that␈α task,␈α and␈α what␈α is␈α  the␈α  program␈αspecification
␈↓ d␈↓like?␈α(a␈αconcept␈αformation␈αprogram,␈αseveral␈αpages␈αlong,␈αfrom␈αone␈αspecific␈αprotocol␈αdialogue).␈α How␈αprecise␈αmust
␈↓ d␈↓the␈αuser␈α
be:␈α   may␈αhe␈α
err␈α(no),␈αforget␈α
(no),␈αchange␈α
his␈αmind?␈α(in␈α
limited␈αcases.)␈αHow␈α
detailed␈αmust␈αhis␈α
 dialogue
␈↓ d␈↓be?␈α
(by␈α
construction,␈αjust␈α
about␈α
as␈α
detailed␈αas␈α
if␈α
he␈α
were␈αtalking␈α
to␈α
a␈α
CS␈αgrad␈α
student␈α
programmer.)␈αHow␈α
closely
␈↓ d␈↓does␈α
 the␈α dialogue␈α
determine␈αthe␈α
details␈α
of␈αthe␈α
final␈αcode?␈α
 (much␈αof␈α
the␈α
final␈αcode␈α
is␈αclearly␈α
determined␈αby␈α
the
␈↓ d␈↓precise␈α
user␈α
responses.)␈α
How␈α
does␈αthe␈α
user␈α
know␈α
where␈α
he␈α
is␈αduring␈α
the␈α
dialogue?␈α
(simulated␈α
cursors␈αpointing␈α
to
␈↓ d␈↓a graph representing synthesized code.) Does the user ever get lost? (Often.)
␈↓"/␈↓ d␈↓Quite␈α seriously,␈αan␈αimportant␈αquestion␈αis␈αwhether␈αthe␈αsystem␈αwrites␈αa␈αsecond␈αprogram.␈α(yes.)␈α If␈αso,␈αhow␈αdoes␈αit
␈↓ d␈↓relate␈αto␈αthe␈αfirst␈α one␈αsynthesized?␈α(both␈αare␈αinductive␈αinference␈αLISP␈αprograms.)␈αHow␈αmuch␈αof␈αthe␈αAP␈αsystem
␈↓ d␈↓is␈α∂actually␈α∂used␈α∂in␈α⊂writing␈α∂␈↓βboth␈↓␈α∂programs?␈α∂(49␈α∂BEINGs␈α⊂out␈α∂of␈α∂79.)␈α∂One␈α∂should␈α⊂ask␈α∂what␈α∂the␈α∂full␈α⊂range␈α∂of


␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ .page  12␈↓
␈↓ d␈↓programs␈α
is␈αwhich␈α
 the␈αsystem␈α
has␈α
successfully␈αsynthesized.␈α
(the␈αconcept␈α
former,␈αthe␈α
grammatical␈α
inferrer,␈αand
␈↓ d␈↓the␈αsimple␈αproperty␈αlist␈αmanipulation␈α
system.)␈αThe␈αdual␈αquestions␈αto␈α
these␈αinquire␈αwhether␈αa␈αprogram␈α
may␈αbe
␈↓ d␈↓generated␈α
by␈αseveral␈α
different␈α(in␈α
the␈αsense␈α
of␈αrephrasing␈α
and␈αin␈α
the␈αsense␈α
of␈αreordering␈α
the␈αsubtasks)␈α
dialogues
␈↓ d␈↓(theoretically,␈α∞but␈α
not␈α∞practically),␈α
 and␈α∞ what␈α
 the␈α∞ range␈α
 of␈α∞variability␈α
is.␈α∞(theoretically␈α
large,␈α∞but␈α
practically
␈↓ d␈↓quite␈αlimited.)␈αSimilarly,␈αwhat␈αabout␈αthe␈αtarget␈αlanguage:␈αis␈αit␈αa␈αparameter?␈α(no,␈αalways␈αthe␈αsame.)␈αHow␈α
does␈αit
␈↓ d␈↓relate  to the language the system is written in? (both written as BEINGs in INTERLISP.)
␈↓"/␈↓ d␈↓Does␈α∞the␈α∞system␈α∞modify␈α
as␈α∞well␈α∞as␈α∞write␈α
code?␈α∞(yes,␈α∞but␈α∞not␈α
as␈α∞its␈α∞major␈α∞mechanism.)␈α
  If␈α∞so,␈α∞ can␈α∞it␈α
 modify
␈↓ d␈↓anybody's,␈α
 or␈α
only␈α∞those␈α
programs␈α
it␈α
has␈α∞written␈α
itself?␈α
 (only␈α
its␈α∞own,␈α
and␈α
only␈α
in␈α∞simple␈α
ways.)␈α
What␈α∞is␈α
its
␈↓ d␈↓"style"␈αof␈αprogramming?␈α(many␈αsupplementary␈αcomments,␈αfairly␈αclean␈αstructured␈αprograms␈αwritten␈αas␈αBEINGs.)
␈↓ d␈↓One␈αalso␈αwishes␈αto␈αknow␈αthe␈α size␈αof␈α the␈αtool␈αas␈αwell␈αas␈αthe␈αsize␈αof␈αthe␈αjob:␈αHow␈αdoes␈αthe␈αsystem␈αsize␈αcompare
␈↓ d␈↓to target program size? (one order of magnitude larger.)
␈↓"/␈↓ d␈↓Efficiency␈α∂considerations␈α⊂are␈α∂often␈α∂the␈α⊂crucial␈α∂pragmatic␈α⊂ones.␈α∂Economics␈α∂and␈α⊂current␈α∂hardware␈α⊂restrict␈α∂the
␈↓ d␈↓amount␈α∞of␈α∞computation␈α∞ which␈α∞ may␈α∂be␈α∞done␈α∞in␈α∞toto;␈α∞the␈α∞expected␈α∂lifetime␈α∞of␈α∞the␈α∞universe␈α∞restricts␈α∂us␈α∞from
␈↓ d␈↓using␈αthe␈α most␈α"elegant"␈αalgorithms;␈α and␈αhuman␈α patience␈α restricts␈αthe␈αinteraction␈αdelay␈αtime␈α(to␈αa␈αminute␈αor
␈↓ d␈↓two␈αof␈αreal␈αtime).␈αOne␈αmust␈αtherefore␈α ask␈α things␈α like␈αhow␈α much␈α time␈α and␈α space␈α it␈α requires,␈α how␈αlong␈αa
␈↓ d␈↓delay␈α∞there␈α
is␈α∞between␈α∞user␈α
inputs,␈α∞etc.␈α∞(one␈α
CPU␈α∞hour,␈α
100K,␈α∞ ≤1␈α∞CPU␈α
minute␈α∞between␈α∞responses,␈α
compiled
␈↓ d␈↓INTERLISP run on a PDP-10 TENEX system.)
␈↓"/␈↓ d␈↓The␈α second␈α class␈αof␈αquestions␈αconcerns␈αthe␈αtheoretical␈αside␈αof␈αthe␈αAP␈αsystem.␈α What␈αnew␈αideas␈αis␈αit␈αmeant␈αto
␈↓ d␈↓experiment␈αwith?␈α(using␈αBEINGs␈αto␈αwrite␈αlarge␈αprograms).␈α How␈αdo␈αthese␈αideas␈αfare?␈α(mixed␈αresults;␈αthis␈αis␈αthe
␈↓ d␈↓subject␈α∞of␈α∞most␈α∞of␈α∞the␈α∂remainder␈α∞of␈α∞this␈α∞paper).␈α∞ Does␈α∂it␈α∞write␈α∞its␈α∞code␈α∞in␈α∂the␈α∞right␈α∞way?␈α∞ (it␈α∞asks␈α∂the␈α∞right
␈↓ d␈↓questions␈αof␈α
 the␈α user␈α
 at␈α just␈α
 the␈α proper␈α
times␈αwith␈αrespect␈α
to␈αthe␈α
original␈αprotocol.)␈α
How␈αextendable␈α
is␈αit:
␈↓ d␈↓how␈α∞difficult␈α∂is␈α∞it␈α∞to␈α∂add␈α∞new␈α∂pieces␈α∞of␈α∞knowledge␈α∂and␈α∞to␈α∂modify␈α∞old␈α∞ones?␈α∂(theoretically␈α∞easy,␈α∂practically␈α∞it
␈↓ d␈↓requires␈αfamiliarity␈α
with␈αthe␈α
system.)␈α Could␈α it␈α
 write␈α programs␈α
 in␈αvarious␈αfields␈α
(possibly),␈αin␈α
various␈αstyles
␈↓ d␈↓(unlikely), in various sizes?  (the three target programs differ by less than one order of magnitude.)
␈↓"/␈↓ d␈↓How␈α
is␈α
knowledge␈α represented␈α
 internally?␈α
(BEINGs,␈αassertions,␈α
demons.)␈α
  Is␈α
 any␈α of␈α
 it␈α
duplicated?␈α(not␈α
much
␈↓ d␈↓above␈αthe␈αLISP␈αlanguage␈αlevel;␈αsome␈αuniversal␈αknowledge␈αis␈αfactored␈αout;␈αe.g.,␈αhow␈αto␈αCHOOSE-FROM␈αa␈αset
␈↓ d␈↓of BEINGs.) If so, why? (too primitive to factor it out; e.g., how to bind variables.)
␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α≤␈↓∧␈↓&10. Examples from the dialogue which results in CF␈↓)αβ␈↓
␈↓"/␈↓ d␈↓The␈α
dialogue␈α
to␈α
synthesize␈α
the␈α
concept␈α
formation␈α
program␈α(CF)␈α
begins␈α
by␈α
PUP6␈α
asking␈α
the␈α
user␈α
 for␈α any␈α
 task.
␈↓ d␈↓The␈α
user␈α
replies,␈α∞␈↓βWrite␈α
a␈α
program␈α
which␈α∞does␈α
concept␈α
formation␈↓.␈α
There␈α∞are␈α
many␈α
decisions␈α
that␈α∞PUP6␈α
knows
␈↓ d␈↓about␈α
in␈α
writing␈α
 a␈α
 specialized␈α
 concept␈α
formation␈α
program␈α
[4],␈α
and␈α
it␈α
was␈α
given␈α
just␈α
enough␈α
concept␈α
formation
␈↓ d␈↓knowledge␈α∩to␈α⊃defer␈α∩each.␈α∩  For␈α⊃example,␈α∩it␈α⊃must␈α∩choose␈α∩between␈α⊃classificatory,␈α∩comparative,␈α∩ and␈α⊃metrical
␈↓ d␈↓concept␈α
formation.␈αSince␈α
all␈αthree␈α
involve␈αpartitioning␈α
a␈α
domain␈αof␈α
examples,␈αPUP6␈α
decides␈α it␈α
 can␈α defer␈α
 this
␈↓ d␈↓choice␈α until␈α after␈αcode␈αfor␈αthe␈αpartitioning␈αis␈αsynthesized.␈α   The␈αeffort␈αof␈αthe␈αsystem␈αis␈αnow␈α directed␈α toward


␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ .page  13␈↓
␈↓ d␈↓this␈α
 "piece"␈α
 of␈α
 the␈α
program.␈α When␈α
it␈α
is␈α
completed,␈α
an␈αhour␈α
or␈α
two␈α
later,␈α
the␈αsystem␈α
asks␈α
the␈α
user␈α
to␈αmake␈α
this
␈↓ d␈↓decision.␈αWhen␈αhe␈αresponds␈α ␈↓βCLASSIFICATORY␈↓,␈αwhich␈α involves␈α␈↓βonly␈↓␈αpartitioning,␈α PUP6␈α prints␈αthat␈αit␈αhas
␈↓ d␈↓finished the entire CF task, and dumps the newly created BEINGs  onto a file.
␈↓"/␈↓ d␈↓An␈αexample␈α
of␈αthe␈αPUP6␈α
community␈αof␈α
BEINGs␈αinteracting␈αwill␈α
now␈αbe␈α
presented.␈α When␈αa␈α
BEING␈αis␈αsaid␈α
to
␈↓ d␈↓do␈α
or␈α
recognize␈αor␈α
know␈α
something,␈α
as␈αin␈α
the␈α
following␈α
paragraphs,␈αwhat␈α
is␈α
actually␈α
meant␈α is␈α
that␈α
 one␈αor␈α
more
␈↓ d␈↓of␈αits␈α
organs␈αspecificly␈α
encode␈αthat␈α
knowledge.␈α All␈αthe␈α
organs␈αof␈α
the␈αhundred␈α
BEINGs␈αin␈α
PUP6␈αwere␈αcoded␈α
by
␈↓ d␈↓hand,  not  by each  other.  They then  encoded other BEINGs, interacting only via the dialogue.
␈↓"/␈↓ d␈↓Let's␈α∞jump␈α∞one␈α∞third␈α∞of␈α∞the␈α∂way␈α∞into␈α∞the␈α∞dialogue␈α∞which␈α∞results␈α∂in␈α∞creating␈α∞ CF.␈α∞The␈α∞system␈α∞learns␈α∂it␈α∞must
␈↓ d␈↓compare␈α
the␈αinput␈α
scene␈αagainst␈α
its␈α
internally␈αstored␈α
models␈αof␈α
concepts,␈α
until␈αit␈α
 finds␈α one␈α
 which␈α
passes␈αthe
␈↓ d␈↓comparison.␈α  It␈α asks␈αthe␈αuser␈αwhat␈αit␈αmeans␈αfor␈αscene␈αS␈αto␈αfail␈αthe␈αcomparison␈αto␈αmodel␈αM.␈αThe␈αuser␈α replies,
␈↓ d␈↓whenever␈αM␈α
 is␈α incompatible␈α with␈α
 the␈α observed␈α
 features␈α of␈α S.␈α
 The␈αIDEN␈α
organ␈αof␈αthe␈α
CONTRADICTS
␈↓ d␈↓BEING recognizes this sentence pattern, and transforms it to
␈↓"/␈↓ d␈↓(FORSOME  F  IN M-FEATURES   (␈↓βspecialized-contradicts␈↓   F   S-FEATURES)).
␈↓"/␈↓ d␈↓The␈αBEING␈αwhich␈αinserts␈αthis␈α
into␈αthe␈αsynthesized␈αcode␈αrequires␈αthat␈α
 the␈α user␈αpick␈α some␈α proper␈α name␈α
 for
␈↓ d␈↓the␈α∂new␈α∞BEING␈α∂␈↓βspecialized-contradicts␈↓;␈α∞this␈α∂will␈α∂be␈α∞a␈α∂streamlined␈α∞contradiction␈α∂test␈α∞predicate␈α∂written␈α∂by␈α∞the
␈↓ d␈↓CONTRADICTS␈α⊂BEING.␈α⊃ Say␈α⊂the␈α⊂user␈α⊃reponds␈α⊂by␈α⊂calling␈α⊃it␈α⊂IMPOSS.␈α⊂This␈α⊃naming␈α⊂and␈α⊃specializing␈α⊂is
␈↓ d␈↓central␈αto␈αBEING␈αcreation:␈αa␈αBEING␈αrecognizes␈αan␈αinstance␈αof␈αitself,␈αand␈αdecides␈αeither␈αto␈αinsert␈αa␈αcall␈αto␈αitself
␈↓ d␈↓or␈αelse␈α
to␈αinsert␈αa␈α
call␈αto␈αa␈α
specialized␈αversion␈αof␈α
itself.␈α If␈αany␈α
nontrivial␈αdecisions␈αmust␈α
be␈αmade,␈αand␈α
can␈αbe
␈↓ d␈↓settled␈αat␈αsynthesis␈αtime,␈αthen␈αthe␈αlatter␈αalternative␈αis␈αchosen.␈α CONTRADICTS␈αis␈αtoo␈αgeneral␈αa␈αBEING␈αto␈αbe
␈↓ d␈↓called␈αin␈αan␈αinner␈αloop,␈αso␈αits␈αcontent␈αwill␈αbe␈αhammered␈αout␈αat␈αsynthesis␈αtime.␈αOn␈αthe␈αother␈αhand,␈αFORSOME
␈↓ d␈↓is so primitive that no  specialized version  of  it  is  written normally.
␈↓"/␈↓ d␈↓Here is the way this piece of the dialogue actually appears.  The user's reponses are italicized.

␈↓"	␈↓ d␈↓PUP: Please type in a logical expression which is true iff we terminate the loop
␈↓"	␈↓ d␈↓USER: ␈↓βAny feature in model-features is incompatible with scene-features␈↓
␈↓"	␈↓ d␈↓PUP: PUP wants USER to type in name for specialized version of CONTRADICTS
␈↓"	␈↓ d␈↓USER: ␈↓βIMPOSS␈↓
␈↓"/␈↓ d␈↓Later␈αin␈α
the␈α dialogue,␈α
 PUP6␈α decides␈α
 it␈α must␈α
expand␈αthe␈α
function␈αIMPOSS.␈α
The␈αCONTRADICTS␈α
BEING
␈↓ d␈↓is␈αagain␈αcalled␈αon;␈αthis␈αtime␈α it␈α is␈α asked␈α how␈α to␈α write␈α a␈α specialized␈α version␈α  of␈α  a␈αcontradiction␈α test.␈α Its
␈↓ d␈↓SPECIALIZATIONS␈α≠organ␈α~replies␈α≠that␈α~␈↓βsome␈α≠of␈↓␈α~the␈α≠following␈α~types␈α≠of␈α~contradiction␈α≠ may␈α~ occur:
␈↓ d␈↓PROBABILITY=0,␈α
 PROBABILITY=1,␈α and␈α
PROBABILITY␈↓βε␈↓(0,1).␈α   This␈α
  is␈α  the␈α
 germ␈α of␈α
 the␈α idea␈α
 for
␈↓ d␈↓the␈αMUSTNOT/MUST/MAY␈αcategorization␈αof␈αfeatures.␈αThe␈αSOME-OF␈αBEING␈α takes␈αcontrol,␈α and␈α asks␈α if
␈↓ d␈↓the␈α decision␈αcan␈αbe␈αdeferred.␈α Eventually␈αthe␈αDEFERRAL␈αBEING␈αreports␈αfailure.␈α SOME-OF␈αsees␈αit␈αhas␈α no
␈↓ d␈↓basis␈α upon␈αwhich␈α to␈α form␈α
 a␈α guess,␈α and␈α wants␈αsomebody␈αto␈α
ask␈αthe␈αuser.␈α The␈αASK-USER␈α
BEING␈αtakes
␈↓ d␈↓over.␈α
 The␈α
names␈α
of␈α
the␈α
three␈α
choices␈α
are␈α
so␈α∞cryptic␈α
that␈α
their␈α
WHAT␈α
and␈α
HOW␈α
organs␈α
are␈α
printed␈α∞out␈α
to


␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ .page  14␈↓
␈↓ d␈↓the␈α user,␈α as␈α well␈α as␈αtheir␈αnames.␈α The␈αuser␈αtypes␈αback␈αhis␈αchoices,␈αin␈αour␈αcase␈αall␈αthree.␈α SOME-OF␈αregains
␈↓ d␈↓control and  composes  three  new  BEING  calls,   separated   by   a conditional:

␈↓"	␈↓ d␈↓α(COND
␈↓"	␈↓ d␈↓α ((IS-OF-TYPE  F  PROBABILITY=0-PART-OF-M-FEATURES) (PROBABILITY=0-CONTRADICTION  F  S-FEATURES))
␈↓"	␈↓ d␈↓α ((IS-OF-TYPE  F  PROBABILITY=1-PART-OF-M-FEATURES) (PROBABILITY=1-CONTRADICTION  F  S-FEATURES))
␈↓"	␈↓ d␈↓α ((IS-OF-TYPE  F  PROBABILITY␈↓βε␈↓α(0,1)-PART-OF-M-FEATURES) (PROBABILITY␈↓βε␈↓α(0,1)-CONTRADICTION  F  S-FEATURES)))
␈↓"/␈↓ d␈↓TRICHOTOMY␈αrecognizes␈αthis␈αas␈αa␈αsplit␈αon␈αa␈αfunction's␈α values␈αbeing␈α =0,␈α =1,␈α or␈α between␈α zero␈α and␈α one.
␈↓ d␈↓It␈α∩ asks␈α⊃whether␈α∩this␈α∩particular␈α⊃ function␈α∩ can␈α⊃ only␈α∩ range␈α∩ over␈α⊃ the␈α∩  interval␈α∩  [0,1].␈α⊃ PROBABILITY
␈↓ d␈↓answers␈α
 affirmatively,␈α∞ so␈α
 SOME-OF␈α∞ replaces␈α
the␈α∞final␈α
IS-OF-TYPE␈α∞test␈α
by␈α∞the␈α
constant␈α∞T.␈α
 That␈α∞is,␈α
any
␈↓ d␈↓feature␈α∩not␈α∩passing␈α⊃one␈α∩of␈α∩the␈α∩first␈α⊃two␈α∩IS-OF-TYPE␈α∩tests␈α∩␈↓βmust␈↓␈α⊃pass␈α∩the␈α∩final␈α∩one,␈α⊃so␈α∩the␈α∩final␈α∩one␈α⊃is
␈↓ d␈↓unnecessary.
␈↓"/␈↓ d␈↓The␈α⊂three␈α⊂contradiction-checking␈α⊂predicates␈α⊂know␈α⊂(their␈α⊂ENCODABLE␈α⊂ organs␈α⊂ tell␈α⊂ them)␈α⊂ that␈α⊂they␈α∂ are
␈↓ d␈↓immediately␈αencodable.␈α
A␈αprobability=0␈αcontradiction␈α
means␈αthat␈αarg1␈α
must␈αnot␈αoccur␈α
in␈αthe␈α world␈α
 arg2␈α yet
␈↓ d␈↓it␈α⊂ does.␈α⊃ So␈α⊂ the␈α⊂META-CODE␈α⊃ of␈α⊂ the␈α⊂ PROBABILITY=0-CONTRADICTION␈α⊃ BEING␈α⊂ is␈α⊃defined␈α⊂as
␈↓ d␈↓(MEMBER␈αarg1␈αarg2).␈α This␈αcorresponds␈αto␈αa␈αMUSTNOT␈αfeature␈αF␈αwhich␈αis␈αpresent␈α in␈α the␈α world␈α (in␈α
 the
␈↓ d␈↓set␈α S-FEATURES,␈αfeatures␈αof␈αthe␈αscene).␈αA␈αprobability=1␈αcontradiction␈αoccurs␈αwhen␈αa␈αfeature␈αarg1␈αmust␈αoccur
␈↓ d␈↓in␈αthe␈α world␈α arg2,␈α yet␈α it␈α doesn't.␈αSo␈αits␈αdefinition␈αis␈αsimply␈α(NOT␈α(MEMBER␈αarg1␈αarg2)).␈α It␈αis␈αimpossible
␈↓ d␈↓for␈α
a␈α
feature␈αwith␈α
probability␈α
in␈α (0,1)␈α
 to␈α
 be␈α
 in␈α contradiction␈α
 with␈α
any␈αworld␈α
 lacking␈α
negated␈α
features,␈αso
␈↓ d␈↓this␈αthird␈αpredicate␈αis␈αdefined␈α
as␈α the␈α constant␈α NIL.␈α That␈α
 is,␈α if␈αF␈αis␈αa␈α
MAY␈αfeature␈αof␈αthe␈αmodel␈α
M,␈αthen
␈↓ d␈↓there can be no contradiction between F and ␈↓βany␈↓ features of the scene S.
␈↓"/␈↓ d␈↓The␈α IS-OF-TYPE␈α BEING␈α recognizes␈α that␈αit␈αmust␈αwork␈αhard␈αto␈αfll␈αin␈αorgans␈αfor␈αeach␈αof␈αthe␈αtwo␈αcase␈αtests,
␈↓ d␈↓unless␈α∞ M-FEATUiRES␈α
 is␈α∞ organized␈α
permanently␈α∞ into␈α
 three␈α∞ parts␈α
(thus␈α∞permitting␈α
the␈α∞complex␈α∞calls␈α
"IS-
␈↓ d␈↓OF-TYPE"␈αto␈αbe␈αreplaced␈αby␈αthe␈αsimple␈αones␈α"MEMBER"␈αin␈α the␈α above␈αpiece␈αof␈αcode).␈αThe␈αSTRUCTURE-
␈↓ d␈↓INDUCING␈α∞BEING␈α∞takes␈α∞over,␈α∂probing␈α∞the␈α∞permissability␈α∞and␈α∞the␈α∂difficulty␈α∞of␈α∞such␈α∞a␈α∞constraint.␈α∂ It␈α∞finds
␈↓ d␈↓nothing␈α∂ about␈α∂ this␈α∂ tripartite␈α∂ structuring␈α∂ which␈α∂could␈α∞damage␈α∂any␈α∂earlier␈α∂synthesized␈α∂code,␈α∂and␈α∂asks␈α∞the
␈↓ d␈↓user's␈α∞ blessing.␈α∞ Demons␈α∞are␈α∞created,␈α∞stating␈α∞that␈α∂any␈α∞reference␈α∞to␈α∞the␈α∞entire␈α∞list␈α∞of␈α∞M-FEATURES␈α∂must␈α∞be
␈↓ d␈↓replaced␈α∞by␈α∞ either␈α∂ APPEND␈α∞ of␈α∞the␈α∞ three␈α∂ new␈α∞lists,␈α∞or␈α∞else␈α∂by␈α∞three␈α∞separate␈α∞statements.␈α∂GET-NAME␈α∞is
␈↓ d␈↓indirectly␈α∞called,␈α∞and␈α∞he␈α∞has␈α∞the␈α∞user␈α∞name␈α∞the␈α∞three␈α∞new␈α∞sets␈α∞ of␈α∞features;␈α∞say␈α∞he␈α∞responds␈α∞by␈α∞calling␈α
them
␈↓ d␈↓MUSTNOT,␈αMUST,␈αand␈αMAY.␈αThe␈αENCODE␈αBEING␈αsays␈αto␈αdraw␈αan␈αarrow␈αon␈αits␈αgraph␈αof␈αnewly␈αcreated
␈↓ d␈↓BEINGs, going from the BEING call (IMPOSS F S-FEATURES) to the new block of code:

␈↓"	␈↓ d␈↓α  (COND  ((MEMBER  F  MUSTNOT-PART-OF-M)  (MEMBER  F  S-FEATURES))
␈↓"	␈↓ d␈↓α             ((MEMBER  F  MUST-PART-OF-M)     (NOT (MEMBER  F  S-FEATURES)))
␈↓"	␈↓ d␈↓α             ( T  (COMMENT THIS "T" REPLACES "MEMBER F MAY-PART-OF-M")  NIL))
␈↓"/␈↓ d␈↓This␈αis␈αnow␈αthe␈α
META-CODE␈αorgan␈αof␈αthe␈αnew␈α
BEING␈αcalled␈αIMPOSS.␈α Most␈α
of␈αits␈αother␈αorgans␈αare␈α
cloned
␈↓ d␈↓from␈α∞its␈α∞generalization,␈α∞namely␈α∞CONTRADICTS.␈α∞During␈α∞the␈α∞course␈α∞of␈α∞writing␈α∞this␈α∞piece,␈α∞however,␈α∞some␈α
of
␈↓ d␈↓these␈α∞organs␈α
should␈α∞be␈α
slightly␈α∞changed.␈α∞For␈α
example,␈α∞IMPOSS's␈α
reason␈α∞for␈α
existing␈α∞should␈α∞be␈α
strengthened
␈↓ d␈↓when the simple MEMBER function calls replaced the slow IS-OF-TYPE  BEING calls.

␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ .page  15␈↓
␈↓ d␈↓Most␈αof␈αthis␈αprocessing␈αis␈αinter-BEING␈αactivity;␈αthe␈αuser␈αis␈αnot␈αneeded␈αfor␈α--␈αor␈αeven␈αinformed␈αof␈α--␈αmost␈αof␈αit.
␈↓ d␈↓Alas, "the user" is  not  generic;  there was  only one successful user.
␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α3␈↓∧␈↓&11. Excerpt from the synthesized program itself running␈↓)αβ␈↓
␈↓"/␈↓ d␈↓The␈α∞PUP6␈α∞system␈α∞interacts␈α∞with␈α∞the␈α∞user,␈α∞resulting␈α∞in␈α∞the␈α∞creation␈α∞of␈α∞CF,␈α∞the␈α∞desired␈α∞target␈α∞program.␈α∞ Like
␈↓ d␈↓PUP6,␈αCF␈αis␈αnothing␈αbut␈α
a␈αpool␈αof␈αBEINGs.␈αSo,␈αas␈α
it␈αruns,␈αthe␈αuser␈αcan␈α
interrupt␈αit␈αand␈αask␈αit␈αquestions␈α
about
␈↓ d␈↓what␈α
it's␈αdoing.␈α
The␈α
answers␈αare␈α
typically␈α
just␈αsome␈α
organs␈α
of␈αthe␈α
BEING␈α
currently␈αin␈α
control.␈α
 Any␈αBEING␈α
on
␈↓ d␈↓the␈α
control␈α
stack␈α
will␈α
provide␈α
fully␈α
instantiated␈α
answers␈αto␈α
any␈α
of␈α
its␈α
29␈α
allowable␈α
queries;␈α
all␈α
other␈αBEINGs␈α
will
␈↓ d␈↓provide␈αonly␈αhypothetical␈αanswers.␈α An␈αexcerpt␈αof␈α
CF␈αrunning␈αwithout␈αinterruption␈αis␈αgiven␈αbelow,␈αfollowed␈α
by
␈↓ d␈↓the␈α∞same␈α∞piece␈α∞with␈α∞interruptions.␈α∞The␈α∞characters␈α∞of␈α∞the␈α
dialogues␈α∞with␈α∞PUP6␈α∞to␈α∞write␈α∞CF,␈α∞and␈α∞with␈α∞CF␈α
to
␈↓ d␈↓learn␈α
concepts,␈α
are␈α
similar;␈α∞an␈α
"interrupted"␈α
excerpt␈α
of␈α
the␈α∞user-PUP6␈α
dialogue␈α
will␈α
be␈α
omitted.␈α∞ Some␈α
liberty
␈↓ d␈↓has␈α
been␈α∞taken␈α
with␈α∞the␈α
English␈α∞(e.g.,␈α
␈↓βWHAT?␈↓,␈α∞not␈α
␈↓βWhat␈α∞are␈α
you␈α∞doing?␈↓).␈α
 CF␈α∞types␈α
in␈α∞boldface,␈α
the␈α∞user␈α
in
␈↓ d␈↓italics.

␈↓"	␈↓ d␈↓↓READY TO ACCEPT BRAND NEW SCENE:   ␈↓β(??? (A B) (Block A) (Green B) (Touches A B))␈↓↓
␈↓"	␈↓ d␈↓↓NOT AN ARCH. NOT A TOWER. MIGHT BE A ROW.  MY GUESS IS ROW.
␈↓"	␈↓ d␈↓↓WHAT IS IT REALLY?                 ␈↓βNothing␈↓↓
␈↓"	␈↓ d␈↓↓TRANSFER FROM MAY TO MUST SETS OF ROW: (TOUCH A B)
␈↓"	␈↓ d␈↓↓READY TO ACCEPT BRAND NEW SCENE:
␈↓"/␈↓ d␈↓Here␈α∞is␈α∞the␈α∞␈↓βsame␈↓␈α∞excerpt,␈α∞but␈α∞with␈α∂the␈α∞user␈α∞interrupting␈α∞occasionally.␈α∞ "␈↓βU:␈↓"␈α∞signifies␈α∞he␈α∞has␈α∂interrupted,␈α∞and
␈↓ d␈↓"␈↓βOK.␈↓" signifies he has told CF "␈↓βOK, go back to work now.␈↓"

␈↓"	␈↓ d␈↓↓        ␈↓βU:  What are you doing?␈↓↓
␈↓"	␈↓ d␈↓↓CF:  Divide a domain into subdomains, using specialized version of PARTITION-DOMAIN
␈↓"	␈↓ d␈↓↓        ␈↓βHow?␈↓↓
␈↓"	␈↓ d␈↓↓CF:  By building up the partition gradually, by adding one <scene, name> pair.  ␈↓βOK.␈↓↓

␈↓"	␈↓ d␈↓↓READY TO ACCEPT BRAND NEW SCENE:   ␈↓β(??? (A B) (Block A) (Green B) (Touches A B))␈↓↓

␈↓"	␈↓ d␈↓↓        ␈↓βU:  What are you doing?␈↓↓
␈↓"	␈↓ d␈↓↓CF:  Break NAME piece off (??? (A B) (BLOCK A) (GREEN B) (TOUCHES A B)) to examine.
␈↓"	␈↓ d␈↓↓        ␈↓βWhat code is the current BEING going to execute?␈↓↓
␈↓"	␈↓ d␈↓↓CF:  The meta-code of SOME-PART-OF␈↓#v1␈↓#␈↓#v4␈↓# is (CAR arg1). Evals to ???. ␈↓βOK.␈↓↓

␈↓"	␈↓ d␈↓↓NOT AN ARCH.
␈↓"	␈↓ d␈↓↓        ␈↓βU:  Why?␈↓↓
␈↓"	␈↓ d␈↓↓CF: The ARCH MUST-relation (SUPPORTS A B) is contradicted in the SCENE. ␈↓βOK.␈↓↓

␈↓"	␈↓ d␈↓↓NOT A TOWER. MIGHT BE A ROW.  MY GUESS IS ROW.
␈↓"	␈↓ d␈↓↓WHAT IS IT REALLY?                 ␈↓βU:  Why are you asking?␈↓↓
␈↓"∧␈↓ d␈↓↓CF: CF cannot resolve it, and must at this time, so CF asks USER␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ .page  16␈↓
␈↓"	␈↓ d␈↓↓        ␈↓βOK. What you wanted is:   Nothing␈↓↓

␈↓"	␈↓ d␈↓↓        ␈↓βU:  What are you doing?␈↓↓
␈↓"	␈↓ d␈↓↓CF: Go through space of concept names, and make user aware of changes.
␈↓"	␈↓ d␈↓↓        ␈↓βWhat BEINGs might this affect?␈↓↓
␈↓ d␈↓↓CF: MESSAGE is possibly called; some version of TEST is possibly called.  ␈↓βOK.␈↓↓

␈↓"	␈↓ d␈↓↓TRANSFER FROM MAY TO MUST SETS OF ROW: (TOUCH A B)
␈↓"	␈↓ d␈↓↓READY TO ACCEPT BRAND NEW SCENE:

␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α∩␈↓∧␈↓&12. Other Tasks␈↓)αβ␈↓
␈↓"/␈↓ d␈↓Let␈α
 us␈α
 briefly␈α describe␈α
 GI␈α
 and␈α PL,␈α
the␈α
second␈α
and␈αthird␈α
programs␈α
PUP6␈αsynthesized.␈α
  GI␈α
 is␈α
 a␈α simple
␈↓ d␈↓grammatical␈αinference␈αprogram.␈αIt␈α
builds␈αup␈αa␈αset␈αof␈α
plausible␈α rules,␈αrather␈α than␈α enumerating␈α
 through␈α the
␈↓ d␈↓space␈α∂of␈α∂all␈α∂grammars.␈α∂Yet␈α∂it␈α∂lacks␈α∂most␈α∂of␈α∂the␈α∂"tricks"␈α∂of␈α∂ the␈α∂ best␈α∂ g.i.␈α∂ programs.␈α∂  The␈α∂ user␈α∂repeatedly
␈↓ d␈↓specifies␈αa␈αstring,␈αlabelled␈α
LEGAL,␈αILLEGAL,␈αor␈α??.␈αIn␈α
the␈αlatter␈αcase,␈αGI␈αmust␈α
print␈αout␈αits␈αguess␈α
and␈αaccept
␈↓ d␈↓the␈αcorrect␈αlabel␈αfrom␈α the␈α user.␈α  In␈α all␈α three␈α cases,␈α it␈α must␈αupdate␈αits␈αset␈αof␈αplausible␈αrules␈αto␈αbe␈αat␈α least
␈↓ d␈↓consistent␈α with␈α all␈α positive␈α and␈αnegative␈α instances␈α observed.␈αIn␈αsome␈αversions␈αof␈αGI␈αwhich␈αthe␈αuser␈αcoaxes
␈↓ d␈↓PUP6␈α
to␈α
generate,␈α
a␈α
parse␈α
tree␈α
may␈α
be␈α
maintained␈α
 and␈α
 inspected;␈α
 in␈α
other␈α
versions,␈α
just␈α
a␈α
list␈α
of␈α∞the␈α
rules
␈↓ d␈↓used during a parse is kept.
␈↓"/␈↓ d␈↓PL␈αis␈αa␈αdata-retrieval-on-keys␈αsystem,␈αwhich␈αmaintains␈αa␈αproperty␈αlist␈αstructure.␈α The␈αuser␈αrepeatedly␈αtypes␈αin␈αa
␈↓ d␈↓request␈α∂to␈α∂insert,␈α∂delete,␈α∞or␈α∂inspect␈α∂a␈α∂ record␈α∂ (e.g.,␈α∞ INSERT:␈α∂PASSENGER␈α∂ Jones␈α∂ FLIGHT␈α∂ 741␈α∞ FROM
␈↓ d␈↓SFO␈α
TO␈α
LAX␈αCARRIER␈α
TWA␈α
LEAVE␈α
7:15␈αARRIVE␈α
8:00).␈α
 Any␈α
unspecified␈αfields␈α
are␈α
treated␈α
 as␈α dont't
␈↓ d␈↓cares; thus the request is matched against entries in the data base.
␈↓"/␈↓ d␈↓The␈α⊂table␈α⊃below␈α⊂shows␈α⊂how␈α⊃each␈α⊂type␈α⊂of␈α⊃knowledge␈α⊂was␈α⊂used␈α⊃ in␈α⊂writing␈α⊂the␈α⊃three␈α⊂target␈α⊃programs.␈α⊂ All
␈↓ d␈↓numbers refer to BEINGs.


␈↓"	␈↓ d␈↓ε␈α?␈α?␈α0        ␈↓∧U  S  E  D     I  N     S  Y  N  T  H  E  S  I  Z  I  N  G␈↓ε

␈↓"	␈↓ d␈↓ε␈↓ ↓DTYPE OF          CF    CF    CF    CF     GI    PL     not     Crea    Crea    Crea    Total     Total
␈↓"	␈↓ d␈↓ε␈↓ ↓DKNOWLEDGE        GI    GI    PL  only   only   only    used    -ted    -ted    -ted    BEINGs    BEINGs
␈↓"	␈↓ d␈↓ε␈↓ ↓D                 PL  only   only                       ever    in CF   in GI   in PL             in PUP6

␈↓"	␈↓ d␈↓ε␈↓ ↓DProgramming      39     7     5     5     3      1       14       52      27      21      174       74
␈↓"	␈↓ d␈↓ε␈↓ ↓DDomain-Specific   0     3     0     9     8      1        5        4      10       3       43       26
␈↓"	␈↓ d␈↓ε␈↓ ↓DTotal BEINGs     39    10     5    14    11      2       19       56      37      24      217      100
␈↓"/␈↓ d␈↓"Created"␈α∃means␈α∃"written␈α∃by␈α∃PUP6␈α∃during␈α∃the␈α∃dialogue␈α∃which␈α∃synthesized".␈α∃ Notice␈α∃the␈α∃percentage␈α∀of
␈↓ d␈↓programming␈α∞BEINGs␈α
 which␈α∞ were␈α∞used␈α
in␈α∞ all␈α
three␈α∞dialogues␈α∞(39/74).␈α
The␈α∞three␈α∞domain-specific␈α
BEINGs
␈↓ d␈↓used␈α
in␈α
both␈α
CF␈α
and␈α
GI␈α
 sessions␈α
 indicate␈α that␈α
 they␈α
 may␈α
 be␈α
 Inductive␈α
Inference␈α
 domain␈α
specific.␈α They
␈↓ d␈↓deal with partitioning a domain, and aren't used in PL, which is not an inductive inference task.
␈↓"/␈↓ d␈↓Although␈αBEINGs␈αcan␈αtheoretically␈αhandle␈αuser␈αerrors,␈αPUP6␈αwas␈αset␈αup␈αexpecting␈αthat␈αthe␈αuser␈αwould␈αnever
␈↓ d␈↓err␈α∞or␈α
 forget.␈α∞ He␈α
could,␈α∞after␈α∞the␈α
program␈α∞was␈α
finished,␈α∞try␈α
it␈α∞out␈α∞and␈α
describe␈α∞how␈α
he␈α∞wished␈α∞it␈α
changed.
␈↓ d␈↓Occasionally,␈αPUP6␈α actually␈α make␈αthe␈α right␈αmodifications.␈α
For␈αexample,␈αafter␈αthe␈αsynthesis␈αof␈αPL␈αis␈α
finished,
␈↓ d␈↓the␈α∞user␈α∞tries␈α∞out␈α∞the␈α∞program␈α∞and␈α∞finds␈α∞that␈α
he␈α∞is␈α∞unable␈α∞to␈α∞delete␈α∞more␈α∞ than␈α∞ one␈α∞reservation␈α∞ with␈α
 any
␈↓"∧␈↓ d␈↓single␈α command.␈αHe␈αcomplains␈αabout␈αthis,␈αand␈αPUP6␈αmodifies␈αthe␈αprogram␈αso␈αthat␈αhe␈αmay␈αspecify␈αa␈αpattern,␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ .page  17␈↓
␈↓ d␈↓and␈α all␈αreservations␈α matching␈α that␈α pattern␈α will␈α be␈α purged.␈α  There␈αis␈αonly␈αone␈αsentence,␈αhowever,␈αwhich␈α
is
␈↓ d␈↓able to effect this change; the slightest deviation would cause it to be misunderstood!
␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α!␈↓∧␈↓&13. Numerical efficiency data␈↓)αβ␈↓
␈↓"/␈↓ d␈↓Good␈α⊂measures␈α⊂ of␈α⊂ concentration␈α⊂ of␈α⊂intelligence␈α⊂are␈α⊂not␈α⊂yet␈α⊂available.␈α⊂ The␈α⊂only␈α⊂alternative␈α⊂is␈α⊃to␈α⊂present
␈↓ d␈↓ephemeral␈α
 numerical␈α
efficiency␈α
 data,␈α
 which␈α
now␈α
follows.␈α
PUP6␈α
is␈α
200␈α
pages␈α
long␈α
when␈α
PRETTY-PRINTED,
␈↓ d␈↓and has synthesized three programs, 7, 20, and 30 pages long (1, 4, and 6 pages, when coded by hand.)
␈↓"/␈↓ d␈↓Two␈αimportant␈αfactors␈αare␈αomitted␈αwhen␈αsimply␈αcomparing␈αsystem␈αand␈αtarget␈αlengths.␈αFirst,␈αone␈αmight␈αimprove
␈↓ d␈↓any␈α
such␈αmeasure␈α
by␈αsimply␈α
decreasing␈α
the␈αsize␈α
of␈αa␈α
given␈αsystem.␈α
This␈α
is␈αwrong,␈α
since,␈αe.g.,␈α
removing␈α
all␈αthe
␈↓ d␈↓comments␈αfrom␈α
a␈αprogram␈α
shouldn't␈αincrease␈α
its␈αintelligence␈α
rating!␈α Secondly,␈α
the␈αtotal␈α
volume␈αof␈αdistinct␈α
target
␈↓ d␈↓programs␈α
should␈α
be␈αconsidered.␈α
Compilers␈α
turn␈α
out␈αprograms␈α
small␈α
compared␈αto␈α
themselves,␈α
but␈α
are␈αvaluable
␈↓ d␈↓because␈α∂of␈α∂the␈α∂vast␈α∂variety␈α∂of␈α∂such␈α∂programs␈α∂they␈α∂can␈α∂put␈α∂together.␈α∂ This␈α∂factor␈α∂reflects␈α∂how␈α∂much␈α∂of␈α∂the
␈↓ d␈↓"insides" of the system can be used in writing many programs.
␈↓"/␈↓ d␈↓PUP6␈α takes␈α 60␈α cpu␈αminutes␈αto␈αproduce␈αCF␈α(compiled␈αINTERLISP␈αcode,␈αrun␈αon␈αa␈αPDP-10␈αTENEX␈αsystem).
␈↓ d␈↓During␈α⊂this␈α∂time,␈α⊂300K␈α∂characters␈α⊂get␈α⊂typed␈α∂out␈α⊂to␈α∂the␈α⊂user,␈α⊂who␈α∂ reponds␈α⊂ with␈α∂ about␈α⊂4K␈α⊂ himself.␈α∂The
␈↓ d␈↓dialogue␈αlengths␈αare␈αbest␈αspecified␈α
in␈αcharacters,␈αsince␈αoften␈αthe␈αuser␈α
will␈αsupply␈αsimply␈αa␈αnumber␈αor␈α
 a␈α letter
␈↓ d␈↓or␈α⊃ a␈α∩YES/NO␈α⊃ reply.␈α⊃ Even␈α∩ the␈α⊃ character␈α∩ counts␈α⊃ are␈α⊃very␈α∩ rough,␈α⊃ because␈α⊃ the␈α∩ format␈α⊃ of␈α∩ the␈α⊃AP
␈↓ d␈↓dialogue␈αcan␈αeasily␈αbe␈αvaried␈αby␈αa␈αcouple␈αorders␈αof␈αmagnitude.␈α The␈αmean␈αwait␈αtime␈α (between␈αthe␈αuser's␈αinput
␈↓ d␈↓and␈α∂the␈α∞next␈α∂machine␈α∞output)␈α∂is␈α∞several␈α∂seconds.␈α∂The␈α∞longest␈α∂delay␈α∞ between␈α∂ successive␈α∞ user␈α∂ inputs␈α∂ is␈α∞ 1
␈↓ d␈↓CPU␈α minute.␈α Unfortunately,␈α PUP6␈α requires␈α100K␈αto␈αrun␈αin,␈αwhich␈α(with␈αINTERLISP)␈αexhausts␈αthe␈αvirtual
␈↓ d␈↓memory␈α∂of␈α∂the␈α∂current␈α∞hardware␈α∂being␈α∂ used.␈α∂ One␈α∞would␈α∂lose␈α∂vast␈α∂amounts␈α∞of␈α∂time␈α∂by␈α∂using␈α∞intermediate
␈↓ d␈↓storage␈α⊂devices␈α⊂or␈α⊂by␈α⊂running␈α⊂consecutive␈α⊂communicating␈α⊂jobs.␈α⊂Efficient␈α⊂use␈α⊂of␈α⊂multiple␈α⊂processors␈α⊃and␈α⊂of
␈↓ d␈↓extended core storage might be made.
␈↓"/␈↓ d␈↓PL␈α was␈α one␈αfifth␈αthe␈αsize␈αof␈αCF,␈αand␈αtook␈αabout␈αa␈αseventh␈αas␈αlong␈αto␈αgenerate.␈αThe␈αdialogue␈αwas␈αshorter␈αby
␈↓ d␈↓only␈α∞a␈α
factor␈α∞of␈α
three.␈α∞The␈α
dialogue␈α∞for␈α
the␈α∞CF␈α
target␈α∞program␈α
was␈α∞too␈α
long␈α∞and␈α
tiresome;␈α∞the␈α∞problem␈α
was
␈↓ d␈↓even more acute for the PL program.
␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α≠␈↓∧␈↓&14. Conclusions␈↓)αβ␈↓
␈↓"/␈↓ d␈↓The␈α∞ main␈α∂ successes␈α∞ of␈α∂the␈α∞experiment␈α∂were␈α∞that␈α∞the␈α∂desired␈α∞reasoning␈α∂steps␈α∞in␈α∂the␈α∞original␈α∂protocol␈α∞were
␈↓ d␈↓actually␈α⊂simulated,␈α⊂most␈α⊃of␈α⊂the␈α⊂BEINGs␈α⊃were␈α⊂used␈α⊂in␈α⊂ writing␈α⊃ more␈α⊂ than␈α⊂one␈α⊃of␈α⊂the␈α⊂programs,␈α⊃and␈α⊂the
␈↓ d␈↓synthesized␈α∂code␈α∂could␈α⊂be␈α∂interrupted␈α∂and␈α∂asked␈α⊂a␈α∂few␈α∂kinds␈α∂of␈α⊂ questions.␈α∂  The␈α∂ main␈α∂defects␈α⊂ were␈α∂ the
␈↓ d␈↓inflexibility␈α∂of␈α∂the␈α∂system␈α∂to␈α∂new␈α∂dialogues,␈α∂the␈α∂inability␈α∂for␈α∂ the␈α∂ user␈α∂ to␈α∂ add␈α∂ new,␈α∂ high-level,␈α∞ domain-
␈↓ d␈↓specific␈α⊂knowledge,␈α⊃ the␈α⊂verbosity␈α⊃of␈α⊂the␈α⊃system,␈α⊂and␈α⊂its␈α⊃ill-founded␈α⊂dependence␈α⊃on␈α⊂user␈α⊃reliability.␈α⊂ These
␈↓ d␈↓problems␈α⊂seem␈α⊂to␈α⊂be␈α⊂inherent␈α⊂in␈α⊂the␈α⊂task␈α⊂of␈α⊂nonformal␈α⊂automatic␈α⊂synthesis␈α⊂of␈α⊂large␈α⊂programs.␈α⊂ The␈α∂small
␈↓ d␈↓fraction␈αof␈αorgans␈αwhich␈α
were␈αactually␈αrelevant␈αto␈α
each␈αBEING␈α(a␈αthird)␈α
indicates␈αthat␈αthis␈αscheme␈α
should␈αbe
␈↓ d␈↓used as one mechanism in some AI systems, but not as the sole curator of information and control.


␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ .page  18␈↓
␈↓ d␈↓The␈α fact␈α that␈αtarget␈αcode␈αis␈αin␈αthe␈αformat␈αof␈αBEINGs␈αlimits␈αthe␈αsize␈αof␈αthe␈αtarget␈αprograms␈α(≥␈αone␈αpage)␈αand
␈↓ d␈↓their␈α
efficiency␈α
 (a␈α
BEING-call␈α
 is␈α
a␈α
very␈α
slow␈αand␈α
intricate␈α
process)␈α
and␈α
of␈α
course␈α
their␈α
style.␈α
The␈αmost␈α
startling
␈↓ d␈↓result␈α∞--␈α
which␈α∞should␈α
have␈α∞been␈α
forseen␈α∞--␈α∞was␈α
that␈α∞the␈α
synthesized␈α∞code␈α
has␈α∞all␈α
the␈α∞properties␈α∞of␈α
BEINGs.
␈↓ d␈↓This␈α⊂was␈α⊂mentioned␈α⊂casually␈α⊂earlier,␈α⊂but␈α⊂is␈α∂worth␈α⊂restating:␈α⊂the␈α⊂generated␈α⊂code␈α⊂is␈α⊂ self-commenting␈α⊂ in␈α∂the
␈↓ d␈↓strong␈α⊂sense␈α⊂that␈α⊂it␈α⊂can␈α⊂answer␈α⊂any␈α⊂(of␈α⊂our␈α⊂set␈α⊂of␈α⊂29)␈α⊂questions␈α⊂about␈α⊂itself.␈α⊂ Those␈α⊂which␈α⊂make␈α⊂sense␈α∂at
␈↓ d␈↓compile-time  can  be  asked  then;  those  which  make  sense during execution may be asked then.
␈↓"/␈↓ d␈↓The␈αset␈αof␈αquestions␈αthe␈αuser␈αwas␈αexpected␈αto␈αwant␈αto␈αask␈αthe␈αsystem␈α is␈α similar␈α to␈αthe␈αquestions␈αone␈αBEING
␈↓ d␈↓wants␈α
to␈α
ask␈α
another.␈α∞ So␈α
when␈α
the␈α
"nice"␈α∞user␈α
interrupts,␈α
his␈α
questions␈α∞are␈α
almost␈α
always␈α
a␈α∞simple␈α
 retrieval
␈↓ d␈↓from␈αa␈αproperty␈αlist␈α(a␈αGETP␈αor␈αa␈αcomposition␈αlike␈αEVAL␈αo␈αGETP).␈αWhen␈αthe␈αaverage␈α user␈α interrupts,␈α his
␈↓ d␈↓questions  are often unintelligible to PUP6.
␈↓"/␈↓ d␈↓Meaningful␈α
use␈α
of␈αcomments␈α
proved␈α
helpful.␈α
As␈αan␈α
example,␈α
the␈αcomment␈α
at␈α
the␈α
end␈αof␈α
the␈α
main␈α
outer␈αloop
␈↓ d␈↓was␈α"COMMENT,␈αINFINITE␈αLOOP␈αIN␈αTHIS␈αPROG"␈αfor␈αmost␈αof␈αthe␈αCF-producing␈αsession.␈αNear␈αthe␈α end
␈↓ d␈↓of␈α∞ the␈α
 dialogue,␈α∞the␈α
 CLARIFY-IMPROBABLE-SITUATION␈α∞BEING␈α
recognizes␈α∞this␈α
as␈α∞a␈α∞warning,␈α
works
␈↓ d␈↓on␈α∞introducing␈α∞a␈α∞breakaway␈α∞ test,␈α∞ and␈α∞ then␈α∂replaces␈α∞ the␈α∞ comment␈α∞by␈α∞one␈α∞indicating␈α∞that␈α∞no␈α∂infinite␈α∞loop
␈↓ d␈↓exists␈α
there␈α
anymore.␈α
  The␈α advantage␈α
 of␈α
 embedding␈α
 our␈α
insertions␈αin␈α
the␈α
code␈α
in␈αthis␈α
way␈α
is␈α
that,␈α
at␈αany
␈↓ d␈↓stage, the user can inspect the code and get something meaningful  out  of  the  comments which are present.
␈↓"/␈↓ d␈↓The␈α∞ careful␈α∞ bookkeeping␈α∞  actually␈α∂  did␈α∞  eliminate␈α∞  some␈α∞carelessness␈α∞ errors,␈α∂though␈α∞it␈α∞had␈α∞no␈α∂effect␈α∞on
␈↓ d␈↓user␈α∞errors␈α
or␈α∞later␈α
program␈α∞maintenance␈α
 directives.␈α∞ This␈α
  last␈α∞   process␈α
    is␈α∞ less␈α
ill-defined␈α∞ than␈α
 blind
␈↓ d␈↓debugging,␈α∂and␈α∂in␈α∂fact␈α∂is␈α⊂ similar␈α∂to␈α∂programming␈α∂itself.␈α∂ The␈α⊂deferral␈α∂ of␈α∂ decisions␈α∂ has␈α∂ the␈α⊂corollary␈α∂of
␈↓ d␈↓reducing (though not minimizing) communication with the slow user channel.
␈↓"/␈↓ d␈↓Synthesizing␈α∪a␈α∩new,␈α∪clean␈α∩target␈α∪program␈α∪ probably␈α∩ would␈α∪ require␈α∩adding␈α∪ a␈α∪ few␈α∩domain-independent
␈↓ d␈↓BEINGs␈α∂and␈α⊂several␈α∂domain-specific␈α⊂BEINGs,␈α∂and␈α⊂generalizing␈α∂a␈α⊂few␈α∂organs␈α⊂of␈α∂ some␈α⊂ existing␈α∂ BEINGs.
␈↓ d␈↓Hopefully,␈α
no␈α∞new␈α
organ␈α∞would␈α
need␈α
be␈α∞added␈α
to␈α∞BEING␈α
anatomy.␈α
 Since␈α∞ the␈α
 dialogues␈α∞ for␈α
 GI␈α∞ and␈α
PL
␈↓ d␈↓were␈α
not␈α
studied␈α
before-hand,␈α
their␈α
acceptability␈α would␈α
 have␈α
 demonstrated␈α
 the␈α
 success␈α
 of␈α
 the␈αsystem.␈α
 Most
␈↓ d␈↓of␈αthe␈αexisting␈α
BEINGs␈αwere␈αused␈α
in␈αgenerating␈αthese␈α
new␈αprograms,␈αbut␈α
a␈αfew␈αnew␈α
BEINGs␈αhad␈αto␈αbe␈α
added.
␈↓ d␈↓This␈αaddition␈αprocess␈αrequired␈αsome␈αdetailed␈αknowledge␈αof␈αthe␈αPUP6␈αsystem,␈αnot␈αjust␈αof␈αthe␈αdomain.␈α Equally
␈↓ d␈↓discouraging,␈αthe␈α
dialogue␈αto␈αwrite␈α
PL␈αis␈αtoo␈α
long␈αand␈αdetailed␈α
for␈αthe␈αtask␈α
at␈αhand.␈α It␈α
also␈α seems␈α
 that␈α the
␈↓ d␈↓front  end  is  too brittle  to  allow  anyone  unfamiliar with the system to easily work with it.
␈↓"/␈↓ d␈↓The␈α∩need␈α∩for␈α∩flexible␈α∩communication␈α∩stems␈α∪ only␈α∩partially␈α∩from␈α∩inter-user␈α∩ differences.␈α∩  A␈α∪ serious␈α∩ and
␈↓ d␈↓unexpected␈α
source␈α of␈α
 conflict␈α here␈α
 is␈α
the␈αamount␈α
of␈αinference␈α
the␈α
user␈αwants␈α
done.␈α This␈α
level␈α
is␈αrelatively
␈↓ d␈↓subjective,␈α
and␈α
may␈α
fluctuate␈α
rapidly␈α
even␈α
 with␈α
 one␈α user␈α
 writing␈α
one␈α
program.␈α
Perhaps␈α
there␈α
should␈α
be␈αa
␈↓ d␈↓dial␈αhe␈αcan␈αset.␈αAt␈αone␈αextreme,␈αthe␈αsystem␈αwould␈α ask␈α the␈α user␈α to␈αverify␈α even␈α the␈α most␈α trivial␈α
 inductions.
␈↓ d␈↓At␈α
 the␈α
 other␈α
extreme␈α
setting,␈αthe␈α
system␈α
would␈α
probably␈α
write␈α
 the␈α target␈α
 program␈α
 after␈α
just␈α
a␈α
few␈αbrief␈α
user
␈↓ d␈↓inputs.␈α∞The␈α∞user␈α∞would␈α∞then␈α∞try␈α∞out␈α∞one␈α∞program␈α∞after␈α∞another,␈α∞interjecting␈α∞just␈α∞one␈α∞or␈α∞two␈α∞comments␈α∞each
␈↓ d␈↓time,␈α
after␈αwhich␈α
 the␈α
 system␈αwould␈α
come␈α
up␈αwith␈α
the␈αnext␈α
version.␈α
 This␈αprogram␈α
modification␈α
mode␈αseems
␈↓ d␈↓appropriate for someone ignorant of LISP, who nevertheless has the I/O behavior of his target clearly in mind.

␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ .page  19␈↓
␈↓ d␈↓Some␈αof␈αthe␈αBEING␈αorgans␈α proved␈α embarrassingly␈α unnecessary.␈α The␈α CO-REQUISITES␈α organ␈αwas␈αnever
␈↓ d␈↓used.␈α
 The␈α
only␈α
activity␈α
which␈α
had␈α
to␈α
be␈α
done␈α
concurrently␈α
was␈α
demon␈α
activation.␈α
The␈α
AFFECTS␈α
organ␈αwas␈α
of
␈↓ d␈↓interest␈α
 to␈α
 the␈α∞ user␈α
 occasionally,␈α
 but␈α
 never␈α∞to␈α
any␈α
BEING.␈α
 The␈α∞EFFECTS␈α
organ␈α
originally␈α
had␈α∞a␈α
twin,
␈↓ d␈↓describing␈αwhat␈αwould␈α happen␈α if␈αeach␈α BEING␈α were␈α ␈↓βnot␈↓␈α called␈αright␈αnow.␈α In␈αeach␈αcase,␈αthis␈αwas␈αmerely␈αa
␈↓ d␈↓trivial␈α⊃restatement␈α⊃of␈α⊃the␈α⊃frame␈α⊃problem.␈α∩ So,␈α⊃ like␈α⊃ STRIPS,␈α⊃PUP6␈α⊃ ignores␈α⊃ the␈α⊃ frame␈α∩ problem:␈α⊃    all
␈↓ d␈↓changes must be explicit.
␈↓"/␈↓ d␈↓Much␈α∂ of␈α∂PUP6's␈α∂comments␈α∞are␈α∂boring␈α∂and␈α∂unnecessary;␈α∞this␈α∂was␈α∂felt␈α∂to␈α∞be␈α∂an␈α∂engineering␈α∂problem␈α∞which
␈↓ d␈↓would␈α∞be␈α∞ignored␈α∞in␈α∞all␈α∞but␈α∞a␈α∞"marketable"␈α∞ AP␈α
system.␈α∞This␈α∞view␈α∞was␈α∞probably␈α∞incorrect.␈α∞One␈α∞of␈α∞the␈α
most
␈↓ d␈↓severe␈α
AP␈αproblems␈α
is␈αhaving␈α
 the␈α system␈α
 inform␈α
 the␈α user␈α
 of␈αprecisely␈α
 what␈α he␈α
should␈αknow␈α
--␈α
no␈αmore
␈↓ d␈↓nor less.  This requires a sophisticated  user  model  cleverly  interfaced   to   the   current programming task.
␈↓"/␈↓ d␈↓Another␈αproblem␈αwith␈αlarge,␈αlong␈αdialogues␈αis␈αuser␈α error.␈α A␈αhuman␈α has␈α great␈α difficulty␈αkeeping␈α"on␈αtop"␈αof
␈↓ d␈↓everything.␈α
 He␈αmay␈α
get␈αlost,␈α
forget,␈α
change␈αhis␈α
 mind,␈α or␈α
 misunderstand.␈α
 Again,␈α this␈α
problem␈α was␈α
originally
␈↓ d␈↓considered␈α
ignorable,␈α
but␈α
has␈α
shown␈α
itself␈α
to␈α
be␈α
 a␈α
 limiting␈α
 practical␈α
 factor␈α
 in␈α
 wide␈α
 accessability.␈α
 It␈α was
␈↓ d␈↓necessary␈α⊂ to␈α⊂ create␈α⊂ a␈α⊂ forgetful-user␈α⊂ demon␈α⊂ to␈α⊂prevent␈α⊂anaphoric␈α⊂reference␈α⊂to␈α⊂something␈α⊂which,␈α∂though
␈↓ d␈↓uniquely␈αdetermined,␈αhadn't␈αbeen␈αmentioned␈αwithin␈αthe␈αpast␈α
several␈αseconds␈αof␈αreal␈αtime.␈α Related␈αto␈αthis␈αis␈α
the
␈↓ d␈↓problem␈α
of␈αkeeping␈α
the␈α
user␈αinformed␈α
of␈αwhere␈α
he␈α
is.␈αPUP6␈α
simulated␈αa␈α
continuous␈α
display␈αof␈α
 the␈α
graph␈αof
␈↓ d␈↓the␈α∂current␈α∂partial␈α∂program,␈α∂augmented␈α∂by␈α∂static␈α⊂and␈α∂dynamic␈α∂cursors.␈α∂This␈α∂ simple␈α∂use␈α∂ of␈α⊂ dynamic␈α∂ and
␈↓ d␈↓textual␈α∞ indices␈α∞ seems␈α∞insufficient.␈α∞  The␈α∞ user␈α∞was␈α∞still␈α∞often␈α∞confused,␈α∞wishing␈α∞a␈α∞section␈α∞referred␈α∞to␈α∞not␈α∞by
␈↓ d␈↓pointing,␈αnot␈αby␈αname,␈αbut␈αrather␈αby␈αa␈αbrief,␈αmeaningful␈α(to␈αhim␈αonly!)␈α phrase.␈α  This␈αmay␈αalso␈αbe␈αone␈αof␈αthe
␈↓ d␈↓major AP problems which must be studied further.
␈↓"/␈↓ d␈↓Will␈α∞we␈α
ever␈α∞need␈α
a␈α∞system␈α
whose␈α∞target␈α∞programs␈α
will␈α∞be␈α
longer␈α∞and␈α
more␈α∞complex␈α
than␈α∞the␈α∞system␈α
 itself?
␈↓ d␈↓Why␈α∞couldn't␈α∞we␈α
settle␈α∞for␈α∞a␈α
truly␈α∞intelligent␈α∞AP␈α
system␈α∞several␈α∞times␈α
as␈α∞large␈α∞as␈α
anything␈α∞it␈α∞could␈α
produce?
␈↓ d␈↓Worries␈α about␈αlarge␈αdialogues␈α
arise␈αbecause␈αfuture␈αAP␈α
systems␈αare␈αviewed␈αas␈α
tools␈αfor␈αwriting␈αprograms␈α
which
␈↓ d␈↓humans␈α simply␈αcannot␈α manage␈α currently:␈α     viable␈αnatural␈αlanguage␈αsystems,␈αhuge␈αoperating␈αsystems,␈αbetter
␈↓ d␈↓AP␈α
systems.␈α Is␈α
there␈αany␈α
evidence␈αthat␈α
such␈αhyper-productive␈α
systems␈αcould␈α
ever␈αbe␈α
written?␈αThere␈α
seems␈αto␈α
be
␈↓ d␈↓a␈αmanageable␈αbody␈αof␈αinformation␈αwhich␈αone␈αneeds␈αmaster␈αto␈αdo␈αprogramming.␈α One␈αcan␈αwrite␈α programs␈α as
␈↓ d␈↓complex␈α
as␈α
he␈α
wishes␈α
if␈α
the␈α
program␈α
is␈α
designed␈α
in␈α
a␈α
clean␈α
way.␈α
Thus␈α
the␈α
size␈α
of␈α
AP␈α
systems␈α
will␈α
probably␈α
level
␈↓ d␈↓off␈α
 (albeit␈α
 huge␈α
compared␈α
 to␈α
 existing␈α
 programs)␈α∞ even␈α
as␈α
the␈α
size␈α
and␈α
complexity␈α
of␈α
their␈α∞generated␈α
code
␈↓ d␈↓continues to increase and,  eventually,  surpass them.
␈↓"	
␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αα␈↓∧␈↓&References␈↓)αβ␈↓
␈↓"↔␈↓ d␈↓[1]␈α⊗Balzer,␈α⊗Robert,␈α⊗␈↓βAutomatic␈α⊗Programming␈↓,␈α⊗Institute␈α⊗Technical␈α⊗Memorandum,␈α⊗ University␈α↔of␈α⊗Southern
␈↓"π␈↓ d␈↓California Information Sciences Institute, September, 1972.
␈↓"↔␈↓ d␈↓[2]␈αGadwa,␈αPeter,␈α␈↓βSPOT,␈αa␈αmini␈α
concept␈αformation␈αprogram␈↓,␈αMaster's␈αThesis,␈αArtificial␈α
Intelligence␈αLaboratory,
␈↓"π␈↓ d␈↓Stanford University, Stanford, California, August, 1973.
␈↓"↔␈↓ d␈↓[3]␈αGreen,␈αWaldinger,␈αBarstow,␈αElschlager,␈αLenat,␈αMcCune,␈αShaw,␈αand␈αSteinberg,␈α␈↓βProgress␈αReport␈αon␈αProgram-
␈↓"π␈↓ d␈↓βUnderstanding␈α↔Systems␈↓,␈α↔Memo␈α_AIM-240,␈α↔CS␈α↔Report␈α↔STAN-CS-74-444,Artificial␈α_Intelligence␈α↔Laboratory,
␈↓"π␈↓ d␈↓Stanford University, August, 1974.

␈↓"∧␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ .page  20␈↓
␈↓ d␈↓[4]␈αHempel,␈αCarl␈αG.,␈α
␈↓βFundamentals␈αof␈αConcept␈αFormation␈αin␈α
Empirical␈αScience␈↓,␈αUniversity␈αof␈αChicago,␈α
Chicago,
␈↓"π␈↓ d␈↓Illinois, 1952.
␈↓"↔␈↓ d␈↓[5]␈α∂Hewitt,␈α∂Carl,␈α∂␈↓βA␈α∂Universal␈α∂Modular␈α∂ACTOR␈α∂Formalism␈α∂for␈α∂Artificial␈α∂Intelligence␈↓,␈α∂3rd␈α∂International␈α∂Joint
␈↓"π␈↓ d␈↓Conference on Artificial Intelligence, 1973, pp. 235-245.
␈↓"↔␈↓ d␈↓[6] Minsky, Marvin, ␈↓βFrames␈↓, in ␈↓βPsychology of Computer Vision␈↓, 1974.
␈↓"↔␈↓ d␈↓[7]␈α
Minsky,␈α
Marvin,␈α
and␈α
Papert,␈α
Seymour,␈α␈↓βArtificial␈α
Intelligence␈α
Progress␈α
Report␈↓,␈α
MIT␈α
Project␈α
MAC,␈αAI␈α
Memo
␈↓"π␈↓ d␈↓252, 1972.
␈↓"↔␈↓ d␈↓[8] Newell, Allen, and Simon, Herbert, ␈↓βHuman Problem Solving␈↓, 1973.
␈↓"↔␈↓ d␈↓[9] Teitelman, Warren, ␈↓βINTERLISP Reference Manual␈↓, XEROX PARC, 1974.
␈↓"↔␈↓ d␈↓[10]␈α∀Winston,␈α∀Patrick,␈α∪␈↓βLearning␈α∀Structural␈α∀Descriptions␈α∪from␈α∀Examples␈↓,␈α∀Ph.D.␈α∪thesis,␈α∀Dept.␈α∀of␈α∪Electrical
␈↓"π␈↓ d␈↓Engineering, TR-76, Project MAC, TR-231, MIT AI Lab, September, 1970.
␈↓"↔␈↓ d␈↓The␈α∃ideas␈α∀and␈α∃the␈α∀system␈α∃described␈α∀use␈α∃concepts␈α∀from␈α∃ACTORS,␈α∀heterarchy,␈α∃structured␈α∀programming,
␈↓"π␈↓ d␈↓assertional␈αdata␈α
bases,␈αflexible␈α
data␈αtypes,␈α
pattern-directed␈αinvocation␈α
of␈αprocedural␈α
knowledge,␈αthe␈αparadigm␈α
of
␈↓"π␈↓ d␈↓dialogue,␈α⊂studies␈α⊂on␈α⊂program␈α⊂specification,␈α⊂QLISP,␈α⊂INTERLISP,␈α⊂LISP,␈α⊂English,...␈α⊂In␈α⊂particular,␈α⊂the␈α⊂author
␈↓"π␈↓ d␈↓drew␈α∂heavily␈α∂from␈α∂creative␈α∂discussions␈α∂with␈α∂C.␈α∂Green,␈α∂R.␈α∂Waldinger,␈α∂D.␈α∂Barstow,␈α∂B.␈α∂McCune,␈α∂D.␈α∂Shaw,␈α∂E.
␈↓"π␈↓ d␈↓Sacerdoti,␈α∪and␈α∪L.␈α∪Steinberg.␈α∪ Computer␈α∪time␈α∪for␈α∩the␈α∪research␈α∪was␈α∪generously␈α∪provided␈α∪by␈α∪the␈α∩Artificial
␈↓"π␈↓ d␈↓Intelligence Center of SRI.


␈↓"	␈↓ d␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α(␈↓∧␈↓&Appendix: the BEINGs␈↓)αβ␈↓

␈↓"
␈↓ d␈↓Space␈αdoes␈αnot␈αpermit␈αdetailed␈αdiscussion␈αof␈αeach␈αBEING,␈αbut␈αthe␈αnames␈αare␈αsufficiently␈αsuggestive␈αto␈αgive␈αthe
␈↓"π␈↓ d␈↓reader a rough characterization of the scope of the knowledge in the PUP6 system.

␈↓"∞␈↓ d␈↓αADAPT:PRECONCEIVED:FUNCTION␈α,ADD:DEFINITION␈α+ADJECTIVE:HANDLER␈α,ANALYZE:IMPLICATIONS␈α+APPLYRULE
␈↓"π␈↓ d␈↓αASK:USER:ABOUT␈α↔BETTER␈α↔CHOOSE:FROM␈α↔CLARIFY:IMPROBABLE:SITUATION␈α↔CLASSIFICATORY:CONCEPT:FORMATION
␈↓"π␈↓ d␈↓αCOMPARE␈α?␈α3COMPARITIVE:CONCEPT:FORMATION␈α?␈α3COMPLEX:ALTERATION␈α?␈α2COMPLEX:COMPARE:FN
␈↓"π␈↓ d␈↓αCOMPLEX:MODIFY:STRUCTURE␈α~CONCEPT:FORMATION␈α→CONDITIONAL:DELETION␈α~CONDITIONAL:INSERTION␈α→CONSTRAIN
␈↓"π␈↓ d␈↓αCONTRADICTS␈α≥DATA:STRUCTURE:DELETIONS␈α≤DATA:STRUCTURE:INSERTIONS␈α≥DEFER:DECISION␈α≥ELEMENT␈α≤ENCODE
␈↓"π␈↓ d␈↓αEXAMINE:STRUCTURE␈α"EXTRACT:RELEVANT:SUBSET␈α"FAST:GET:NAME␈α"FAST:SATISFY␈α!FILL:IN:UNDEFINED:SECTION
␈↓"π␈↓ d␈↓αFIX:INCORRECT:PIECE␈α/FOREACH␈α0GET:DATA:STRUCTURE␈α/GET:HOLD:OF␈α0GET:NAME␈α/GET:NEW:INFORMATION
␈↓"π␈↓ d␈↓αGRAMMATICAL:INFERENCE␈α?␈α?␈απINFER:CONTEXTFREE:GRAMMARS␈α?␈α?␈απINFER:CONTEXTSENSITIVE:GRAMMARS
␈↓"π␈↓ d␈↓αINFER:FIXEDCLASS:GRAMMARS␈α?␈α3INFER:MULTICLASS:GRAMMARS␈α?␈α2INFER:PHRASESTRUCTURE:GRAMMARS
␈↓"π␈↓ d␈↓αINFER:REGULAR:GRAMMARS␈α7IS:OF:TYPE␈α7JOINING:FUNCTION␈α8LIST:STRUCTURE␈α7MAJOR:MODIFY:STRUCTURE
␈↓"π␈↓ d␈↓αMAKE:A:GUESS␈α∨MAKE:ENCODABLE␈α∨MAKE:NEW:BEING␈α∨MESSAGE␈α∨METRICAL:CONCEPT:FORMATION␈α≡MODIFY:SOME
␈↓"π␈↓ d␈↓αMODIFY:STRUCTURE␈α2MODIFY:UNTIL␈α2OBTAIN:USABLE:INFORMATION␈α2OPTIMIZE␈α3PARSE␈α2PARSE:BACKWARD
␈↓"π␈↓ d␈↓αPARSE:FORWARD␈α'PARTITION:A:DOMAIN␈α'PARTITION:BY:TAKE:CLASS:GET:ELE␈α'PARTITION:BY:TAKE:ELE:AND:CLASS
␈↓"π␈↓ d␈↓αPARTITION:BY:TAKE:ELE:GET:CLASS␈α∨PATTERN:MATCH␈α∨PROBABILITY=0:#␈α∨PROBABILITY=1:#␈α≡PROBABILITY>0&<1:#
␈↓"π␈↓ d␈↓αPROPOSE:PLAUSIBLE:NAMES␈α⊗RECOGNIZE:ARGS␈α∃RECOGNIZE:CAR␈α⊗RECOGNIZE:CONDITIONAL␈α∃RECOGNIZE:CONJUNCTION
␈↓"π␈↓ d␈↓αRECOGNIZE:EQUALITY␈α?␈α∨RECOGNIZE:FUNCTION:RETURNS␈α?␈α∨RECOGNIZE:INCLUSION␈α?␈α≡RECOGNIZE:LITERALS
␈↓"∧␈↓ d␈↓αRECOGNIZE:NUMBER␈αRECOGNIZE:SET:RELATIONS␈αRECOGNIZE:SOME:MEMBER␈αRECOGNIZE:TAIL␈αREINVESTIGATE:DECISION␈↓ d␈↓␈↓εJanuary 28, 1975␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αβLenat␈↓ .page  21␈↓
␈↓"π␈↓ d␈↓αREPEATEDLY␈α↔RESOLVE:DECISION␈α↔SATISFY␈α_SCENE␈α↔SEARCH␈α↔SERVE␈α↔SIMPLE:COMPARE:FN␈α_SOME:PART:OF␈α↔STRING
␈↓"π␈↓ d␈↓αSTRUCTURE-INDUCE␈α
STUDY:TYPE␈α
SUPPORT&DUMP␈αTAKE:HOLD:OF␈α
TEST␈α
TRANSLATE␈α
TRICHOTOMY␈αUSE:INFORMATION
␈↓"π␈↓ d␈↓αUTILIZE WHEN:NEXT WRITE:PROGRAM
␈↓"